2014-12-31 49 views
0

我正在寫一個jekyll插件來爲我的帖子在類別「portfolio」中呈現替代佈局。這些文件是在部分文件夾中生成的,但不會呈現數據。我究竟做錯了什麼?生成器插件不呈現數據

發生器:

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

我現在自己找到了解決方案。

您輸入self.data[]的數據可在模板/佈局中作爲頁面的屬性使用。可以通過{{page.test}}訪問self.data[‘test'] = "..."

現在我的發電機包括self.data['page'] = post,我可以在我的partial.html中以<h1>{{page.post.title}}</h1>的身份訪問它。