我正在编写一个jekyll插件,为类别"投资组合"中的帖子呈现替代布局。文件在部分文件夹中生成,但不呈现数据。我做错了什么?
发电机:
module Jekyll
class PartialGenerator < Generator
def generate(site)
site.categories['portfolio'].each do |post|
site.pages << PartialPage.new(site, site.source, post)
end
end
end
class PartialPage < Page
def initialize(site, base, post)
@site = site
@base = base
@dir = 'partials'
@name = "#{post.id}.html".tr('/','')
self.process(name)
self.read_yaml(File.join(base, '_layouts'), "partial.html")
self.data['page'] = post
end
end
end
partial.html布局包含<h1>{{ page.title }}</h1>
,生成的输出为<h1></h1>
我在初始化方法中尝试了puts(post.title)
,并在控制台上打印了正确的标题。
答案 0 :(得分:1)
我现在自己找到了解决方案。
您放入self.data[]
的数据可用作模板/布局中页面的属性。
因此可以通过self.data[‘test'] = "..."
访问{{page.test}}
。
现在我的生成器包含self.data['page'] = post
,我在partial.html中将其作为<h1>{{page.post.title}}</h1>
访问。