【问题标题】:Generator plugin doesn't render data生成器插件不呈现数据
【发布时间】:2015-01-04 01:48:46
【问题描述】:

我正在编写一个 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 布局包含&lt;h1&gt;{{ page.title }}&lt;/h1&gt;,生成的输出为&lt;h1&gt;&lt;/h1&gt;

我在初始化方法中尝试了puts(post.title),它会在控制台上打印正确的标题。

【问题讨论】:

    标签: jekyll


    【解决方案1】:

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

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

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

    现在我的生成器包含self.data['page'] = post,我在partial.html 中以&lt;h1&gt;{{page.post.title}}&lt;/h1&gt; 访问它。

    【讨论】:

      猜你喜欢
      • 2015-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多