Generator插件不会呈现数据

时间:2014-12-31 16:55:21

标签: jekyll

我正在编写一个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),并在控制台上打印了正确的标题。

1 个答案:

答案 0 :(得分:1)

我现在自己找到了解决方案。

您放入self.data[]的数据可用作模板/布局中页面的属性。

因此可以通过self.data[‘test'] = "..."访问{{page.test}}

现在我的生成器包含self.data['page'] = post,我在partial.html中将其作为<h1>{{page.post.title}}</h1>访问。