2012-06-16 67 views
7

這裏的Jekyll的新人(以前在海德)。如何調試被忽略的插件?

  • 放置在_plugins /目錄中的Ruby文件顯然被忽略。
  • 我使用Jekyll版本0.11.2,在Ubuntu 12.04上使用ruby 1.8.7。

是否應該添加一個額外的配置參數來加載這些插件?文檔沒有這麼說 - 理智的默認應該是查看_plugins,並且它們應該是自動需要的。如何調試Jekyll插件的加載?

回答

2

對於我的jekyll實例(也是0.11.2,但在Mac上使用ruby 1.9.2p290),我不必添加任何額外的配置,但可以嘗試將以下行添加到頂級「 _config.yml「文件。

plugins:  _plugins 

,或者可能

plugins:  ./_plugins 

來測試您的插件工作的最簡單方法是將它們全部刪除除了一個,你知道會工作。我將以下內容放在一起,按照我的安裝預期的方式工作。

  1. 創建你的化身源的根目錄下名爲「plugin_test.md」具有以下內容的新文件:

    --- 
    layout: default 
    title: Plugin Test 
    --- 
    
    the quick brown fox jumps over the lazy dog. 
    
    Testing plugin output of '_plugins/testplugin.rb': {% testplugin %} 
    

    請注意,您可能需要更改「佈局:默認」來無論你實際使用什麼。在你的源代碼目錄

    module Jekyll 
        class TestPlugin < Liquid::Tag 
        def render(context) 
         "It's Working!" 
        end 
        end 
    end 
    
    Liquid::Template.register_tag('testplugin', Jekyll::TestPlugin) 
    
  2. 運行傑奇:

  3. 使用以下內容創建的 「_plugins/testplugin.rb」 的新文件。

testplugin.rb所做的一切就是將液體標籤{% testplugin %}的實例替換爲文本「It's Working!」。如果您的插件觸發,你會看到在輸出

Testing plugin output of '_plugins/testplugin.rb': It's Working!" 
在網頁「plugin_test.html」上

在你的輸出站點根目錄。如果看到:

Testing plugin output of '_plugins/testplugin.rb': 

表示插件沒有觸發。如果你遇到過這種情況,我認爲這是一個跡象表明某件事情非常糟糕,並建議重新安裝jekyll。

1

我知道我有點晚了,但對於其他仍然遇到此問題的人,我想添加我的決議: 重新啓動服務器以使新添加的插件正常工作。因此請停止jekyll serve(Ctrl C)並使用jekyll serve重新啓動它。