2016-12-31 89 views
1

我在我的Jekyll站點成功使用了jekyll-amazon gem,但我想修改detail標籤的輸出。現在它確實:修改jekyll-amazon標籤的輸出

 def detail(item) 
     attrs = { 
      author: item[:author], 
      publisher: item[:publisher], 
      date: item[:publication_date] || item[:release_date], 
      salesrank: item[:salesrank], 
      description: br2nl(item[:description]) 
     }.map { |k, v| ItemAttribute.new(k, v).to_html }.join("\n") 

     str = <<-"EOS" 
<div class="jk-amazon-item"> 
    #{image(item)} 
    <div class="jk-amazon-info"> 
    #{title(item)} 
    #{attrs} 
    </div> 
</div> 
     EOS 
     str.to_s 
     end 

但我想從屬性列表中刪除發佈者,日期,salesrank和說明。我可以重寫此方法,還是更改attrs列表,如果有,如何?

我嘗試了將文件放入包含覆蓋代碼的config/initializers中的方法,但這似乎不起作用。

+1

你不能,因爲那些方法私人的。您需要自己修補源代碼或向寶石維護人員提交功能請求。 – approxiblue

+0

大聲笑是什麼菜鳥的錯誤。謝謝。請創建一個答案,以便我可以給你的觀點。我確實向維護人員提出了問題。 –

+1

我也會關注這個問題,但如果發生變化,請隨時編輯我的答案。祝你好運。 – approxiblue

回答

1

0.3.0支持custom templates

_config.yml:

jekyll-amazon: 
    template_dir: '_templates' 

_templates/detail.erb:

<a href="<%= item[:detail_page_url] %>" target="_blank"> 
    <%= item[:title] %>/<%= item[:author] %> 
</a>