我写了一个哲基尔插件“标签”,它生成一个文件,并返回链接到该文件的字符串。
一切都很好,但如果我直接写文件到_site文件夹,它被删除。 如果我把那个文件夹_site外,它没有内部_site产生。
在哪里,我应该怎么加我的文件,以便它是可用的_site文件夹内?
我写了一个哲基尔插件“标签”,它生成一个文件,并返回链接到该文件的字符串。
一切都很好,但如果我直接写文件到_site文件夹,它被删除。 如果我把那个文件夹_site外,它没有内部_site产生。
在哪里,我应该怎么加我的文件,以便它是可用的_site文件夹内?
您应该使用类Page
,这和调用方法render
和write
。
这是生成一个例子档案页面 ,在我的博客:
module Jekyll
class ArchiveIndex < Page
def initialize(site, base, dir, periods)
@site = site
@base = base
@dir = dir
@name = 'archive.html'
self.process(@name)
self.read_yaml(File.join(base, '_layouts'), 'archive_index.html')
self.data['periods'] = periods
end
end
class ArchiveGenerator < Generator
priority :low
def generate(site)
periods = site.posts.reverse.group_by{ |c| {"month" => Date::MONTHNAMES[c.date.month], "year" => c.date.year} }
index = ArchiveIndex.new(site, site.source, '/', periods)
index.render(site.layouts, site.site_payload)
index.write(site.dest)
site.pages << index
end
end
end