7

ここで Jekyll の新参者 (以前は Hyde で)。

  • _plugins/ ディレクトリに配置された Ruby ファイルは、明らかに黙って無視されます。
  • Ubuntu 12.04でruby 1.8.7を使用して、Jekyllのバージョン0.11.2を使用しています。

これらのプラグインをロードするために追加の構成パラメーターを追加する必要がありますか? ドキュメントにはそうは書かれていません - 健全なデフォルトは _plugins を調べることであり、それらは自動的に要求されるはずです。Jekyll プラグインのロードをデバッグするにはどうすればよいですか?

4

2 に答える 2

2

私の jekyll のインスタンス (これも 0.11.2 ですが、Mac では ruby​​ 1.9.2p290 を使用) の場合、追加の構成を追加する必要はありませんが、トップ レベルの "_config.yml" に次の行を追加してみてください。ファイル。

plugins:     _plugins

または、おそらく、

plugins:     ./_plugins

プラグインが機能していることをテストする最も簡単な方法は、機能することがわかっているプラ​​グインを除いてすべて削除することです。インストールで期待どおりに動作する次のものをまとめました。

  1. 次の内容で「plugin_test.md」という新しいファイルを jekyll ソース ディレクトリのルートに作成します。

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

    "layout: default" を実際に使用しているものに変更する必要がある場合があることに注意してください。

  2. 次の内容で「_plugins/testplugin.rb」に新しいファイルを作成します。

    module Jekyll
      class TestPlugin < Liquid::Tag
        def render(context)
          "It's Working!"
        end
      end
    end
    
    Liquid::Template.register_tag('testplugin', Jekyll::TestPlugin)
    
  3. ソース ディレクトリで jekyll を実行します。

testplugin.rb が行うことは、liquid タグのインスタンスを{% 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を再インストールすることをお勧めします.

于 2012-06-21T00:21:36.677 に答える
1

私は少し遅れていることを知っていますが、まだこの質問に出くわしている他の人のために、解決策を追加したいと思います:サーバーを再起動して、新しく追加されたプラグインを機能させます。そのため、停止jekyll serve(Ctrl C) し、 で再起動しjekyll serveます。

于 2016-07-15T21:36:53.210 に答える