Class: GitHubPages::Dependencies

Inherits:
Object
  • Object
show all
Defined in:
lib/github-pages/dependencies.rb

Overview

Dependencies is where all the public dependencies for GitHub Pages are defined, and versions locked. Any plugin for Pages must be specified here with a corresponding version to which it shall be locked in the runtime dependencies.

Constant Summary collapse

VERSIONS =
{
  # Jekyll
  "jekyll"                    => "3.7.3",
  "jekyll-sass-converter"     => "1.5.2",

  # Converters
  "kramdown"                  => "1.16.2",
  "jekyll-commonmark-ghpages" => "0.1.5",

  # Misc
  "liquid"                    => "4.0.0",
  "rouge"                     => "2.2.1",
  "github-pages-health-check" => "1.8.1",

  # Plugins
  "jekyll-redirect-from"   => "0.14.0",
  "jekyll-sitemap"         => "1.2.0",
  "jekyll-feed"            => "0.10.0",
  "jekyll-gist"            => "1.5.0",
  "jekyll-paginate"        => "1.1.0",
  "jekyll-coffeescript"    => "1.1.1",
  "jekyll-seo-tag"         => "2.5.0",
  "jekyll-github-metadata" => "2.9.4",
  "jekyll-avatar"          => "0.6.0",
  "jekyll-remote-theme"    => "0.3.1",

  # Plugins to match GitHub.com Markdown
  "jemoji"                       => "0.10.0",
  "jekyll-mentions"              => "1.4.0",
  "jekyll-relative-links"        => "0.5.3",
  "jekyll-optional-front-matter" => "0.3.0",
  "jekyll-readme-index"          => "0.2.0",
  "jekyll-default-layout"        => "0.1.4",
  "jekyll-titles-from-headings"  => "0.5.1",

  # Pin listen because it's broken on 2.1 & that's what we recommend.
  # https://github.com/guard/listen/pull/371
  "listen"                    => "3.1.5",

  # Pin activesupport because 5.0 is broken on 2.1
  "activesupport"             => "4.2.10",
}.freeze

Class Method Summary collapse

Class Method Details

.gemsObject

Jekyll and related dependency versions as used by GitHub Pages. For more information see: help.github.com/articles/using-jekyll-with-pages



54
55
56
# File 'lib/github-pages/dependencies.rb', line 54

def self.gems
  VERSIONS.merge(GitHubPages::Plugins::THEMES)
end

.version_reportObject



64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# File 'lib/github-pages/dependencies.rb', line 64

def self.version_report
  require "html/pipeline/version"
  require "sass/version"
  require "safe_yaml/version"
  require "nokogiri"

  {
    "ruby" => RUBY_VERSION,

    # Gem versions we're curious about
    "github-pages"  => VERSION.to_s,
    "html-pipeline" => HTML::Pipeline::VERSION,
    "sass"          => Sass.version[:number],
    "safe_yaml"     => SafeYAML::VERSION,
    "nokogiri"      => Nokogiri::VERSION,
  }
end

.versionsObject

Versions used by GitHub Pages, including github-pages gem and ruby version Useful for programmatically querying for the current-running version



60
61
62
# File 'lib/github-pages/dependencies.rb', line 60

def self.versions
  gems.merge version_report
end