Module: Jekyll::GitHubMetadata

Defined in:
lib/jekyll-github-metadata.rb,
lib/jekyll-github-metadata/pages.rb,
lib/jekyll-github-metadata/value.rb,
lib/jekyll-github-metadata/client.rb,
lib/jekyll-github-metadata/version.rb,
lib/jekyll-github-metadata/sanitizer.rb,
lib/jekyll-github-metadata/repository.rb,
lib/jekyll-github-metadata/ghp_metadata_generator.rb

Defined Under Namespace

Modules: Sanitizer Classes: Client, GHPMetadataGenerator, Pages, Repository, Value

Constant Summary collapse

NoRepositoryError =
Class.new(Jekyll::Errors::FatalException)
VERSION =
'1.6.0'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.clientObject



28
29
30
# File 'lib/jekyll-github-metadata.rb', line 28

def client
  @client ||= Client.new
end

.repositoryObject

Returns the value of attribute repository.



21
22
23
# File 'lib/jekyll-github-metadata.rb', line 21

def repository
  @repository
end

Class Method Details

.[](key) ⇒ Object



48
49
50
# File 'lib/jekyll-github-metadata.rb', line 48

def [](key)
  values[key.to_s]
end

.clear_values!Object



38
39
40
# File 'lib/jekyll-github-metadata.rb', line 38

def clear_values!
  @values = Hash.new
end

.environmentObject



24
25
26
# File 'lib/jekyll-github-metadata.rb', line 24

def environment
  Jekyll.respond_to?(:env) ? Jekyll.env : (Pages.env || 'development')
end

.init!Object

Reset our values hash.



57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# File 'lib/jekyll-github-metadata.rb', line 57

def init!
  clear_values!

  # Environment-Specific
  register_value('environment', proc { Pages.env })
  register_value('hostname', proc { Pages.github_hostname })
  register_value('pages_env', proc { Pages.env })
  register_value('pages_hostname', proc { Pages.pages_hostname })
  register_value('api_url', proc { Pages.api_url })
  register_value('help_url', proc { Pages.help_url })

  register_value('versions', proc {
    begin
      require 'github-pages'
      GitHubPages.versions
    rescue LoadError; Hash.new end
  })

  # The Juicy Stuff
  register_value('public_repositories',  proc { |_,r| r.owner_public_repositories })
  register_value('organization_members', proc { |_,r| r.organization_public_members })
  register_value('build_revision',       proc {
    ENV['JEKYLL_BUILD_REVISION'] || `git rev-parse HEAD`.strip
  })
  register_value('project_title',        proc { |_,r| r.name })
  register_value('project_tagline',      proc { |_,r| r.tagline })
  register_value('owner_name',           proc { |_,r| r.owner })
  register_value('owner_url',            proc { |_,r| r.owner_url })
  register_value('owner_gravatar_url',   proc { |_,r| r.owner_gravatar_url })
  register_value('repository_url',       proc { |_,r| r.repository_url })
  register_value('repository_nwo',       proc { |_,r| r.nwo })
  register_value('repository_name',      proc { |_,r| r.name})
  register_value('zip_url',              proc { |_,r| r.zip_url })
  register_value('tar_url',              proc { |_,r| r.tar_url })
  register_value('clone_url',            proc { |_,r| r.repo_clone_url })
  register_value('releases_url',         proc { |_,r| r.releases_url })
  register_value('issues_url',           proc { |_,r| r.issues_url })
  register_value('wiki_url',             proc { |_,r| r.wiki_url })
  register_value('language',             proc { |_,r| r.language })
  register_value('is_user_page',         proc { |_,r| r.user_page? })
  register_value('is_project_page',      proc { |_,r| r.project_page? })
  register_value('show_downloads',       proc { |_,r| r.show_downloads? })
  register_value('url',                  proc { |_,r| r.pages_url })
  register_value('contributors',         proc { |_,r| r.contributors })
  register_value('releases',             proc { |_,r| r.releases })

  values
end

.register_value(key, value) ⇒ Object



52
53
54
# File 'lib/jekyll-github-metadata.rb', line 52

def register_value(key, value)
  values[key.to_s] = Value.new(key.to_s, value)
end

.reset!Object



42
43
44
45
46
# File 'lib/jekyll-github-metadata.rb', line 42

def reset!
  clear_values!
  @client = nil
  @repository = nil
end

.valuesObject Also known as: to_h



32
33
34
# File 'lib/jekyll-github-metadata.rb', line 32

def values
  @values ||= Hash.new
end