module Gtn::Git

Parse the git repo to get some facts

Public Class Methods

_discover() click to toggle source
# File _plugins/gtn/git.rb, line 25
def self._discover
  # Cache the git facts

  begin
    git_head = File.read(File.join('.git', 'HEAD')).strip.split[1]
    git_head_ref = File.read(File.join('.git', git_head)).strip
  rescue StandardError
    git_head_ref = 'none'
  end

  begin
    tags = `git tag -l`.strip.split.sort
  rescue StandardError
    tags = []
  end

  first_commit = Date.parse('2015-06-29')
  today = Date.today

  {
    'git_revision' => git_head_ref,
    'git_revision_short' => git_head_ref[0..6],
    'gtn_fork' => ENV.fetch('GTN_FORK', 'galaxyproject'),
    'git_tags' => tags,
    'git_tags_recent' => tags.reverse[0..2],
    'age' => (today - first_commit).to_f / 365.25,
    'founding_date' => first_commit,
  }
end
cache() click to toggle source
# File _plugins/gtn/git.rb, line 9
def self.cache
  @@cache ||= Jekyll::Cache.new('Git')
end
discover() click to toggle source

Discover git-related facts and ensure they’re cached Params:

site

The Jekyll::Site object

Returns:

Hash

A hash of git facts like the current revision, tags, etc.

# File _plugins/gtn/git.rb, line 19
def self.discover
  cache.getset('facts') do
    _discover
  end
end