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[] | |||||
# 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 | if version | ||||
versions.add(version) | |||||
if version != 'dev' | if version != 'dev' | ||||
site.pages << RpcIndexPage.new(site, site.source, File.join('doc', version, 'rpc'), version) | site.pages << RpcIndexPage.new(site, site.source, File.join('doc', version, 'rpc'), version) | ||||
end | end | ||||
end | end | ||||
end | end | ||||
# Generate a top-level index listing all of the versions | |||||
site.pages << DocIndexPage.new(site, site.source, File.join('doc'), versions.to_a()) | |||||
end | |||||
end | |||||
class DocIndexPage < Page | |||||
def initialize(site, base, dir, versions) | |||||
@site = site | |||||
@base = base | |||||
@dir = dir | |||||
@name = 'index.html' | |||||
self.process(@name) | |||||
self.read_yaml(File.join(base, '_layouts'), 'docindex.html') | |||||
p versions | |||||
self.data['versions'] = versions | |||||
p self.data | |||||
end | end | ||||
end | end | ||||
class RpcIndexPage < Page | class RpcIndexPage < Page | ||||
def initialize(site, base, dir, version) | def initialize(site, base, dir, version) | ||||
@site = site | @site = site | ||||
@base = base | @base = base | ||||
@dir = dir | @dir = dir | ||||
Show All 9 Lines |