我想在我的Jekyll網站上按重量排序導航。我使用的是this plugin,但是我只想在導航中顯示帶重量的頁面,而不是在列表末尾顯示沒有重量的頁面。Jekyll中的導航按重量排序
所以我改變了這樣的插件:
module Jekyll
class WeightedPagesGenerator < Generator
safe true
def generate(site)
site.pages.each do |page|
if page.data["weight"] != nil
site.config['weighted_pages'] = site.pages.sort_by { |a|
a.data['weight'] }
end
end
end
end
end
但我得到一個錯誤:生成... /_plugins/sorted_navigation.rb:10:in`sort_by':2 NilClass的比較失敗(引發ArgumentError)。
任何想法如何使這項工作?
在您的方法中嘗試此操作,site.config ['weighted_pages'] = site.pages.sort_by {| a | a.data ['weight']。to_i} –
您可以替換此區塊site.pages.each do | page | if page.data [「weight」]!= nil site.config ['weighted_pages'] = site.pages.sort_by {| a | a.data ['weight']} end end –
with site.config ['weighted_pages'] = site.pages.sort_by {| a | a.data ['weight']。to_i} –