Changeset View
Changeset View
Standalone View
Standalone View
_plugins/doc-index-generator.rb
module Jekyll | module Jekyll | ||||
class RpcIndexPageGenerator < Generator | class RpcIndexPageGenerator < Generator | ||||
safe true | safe true | ||||
def generate(site) | def generate(site) | ||||
versions = Set[] | versions = Set[] | ||||
# Generate an index for RPC commands of each version | # Generate an index for RPC commands of each version | ||||
site.collections['doc'].docs.each do |doc| | site.collections['doc'].docs.each do |doc| | ||||
version = doc['version'] | version = doc['version'] | ||||
if version && version != 'dev' | if version && version != 'dev' | ||||
versions.add(version) | versions.add(version) | ||||
end | end | ||||
end | end | ||||
# Generate a top-level index listing all of the versions | # Generate a top-level index listing all of the versions | ||||
site.pages << DocIndexPage.new(site, site.source, File.join('doc'), versions.to_a()) | site.pages << DocIndexPage.new(site, site.source, File.join('doc'), | ||||
versions.to_a().sort_by{ |v| Gem::Version.new(v) }.reverse!) | |||||
end | end | ||||
end | end | ||||
class DocIndexPage < Page | class DocIndexPage < Page | ||||
def initialize(site, base, dir, versions) | def initialize(site, base, dir, versions) | ||||
@site = site | @site = site | ||||
@base = base | @base = base | ||||
@dir = dir | @dir = dir | ||||
Show All 9 Lines |