我怎样才能调试被默默忽略的插件?

Jekyll的新人(此前在海德)。

  • 放置在_plugins /目录中的Ruby文件显然被忽略。
  • 我使用的是Jekyll版本0.11.2,在Ubuntu 12.04上使用ruby 1.8.7。
  • 是否应该添加一个额外的配置参数来加载这些插件? 文档没有这么说 - 理智的默认应该是查看_plugins,并且它们应该是自动需要的。 如何调试Jekyll插件的加载?


    对于我的jekyll实例(也是0.11.2,但是在Mac上使用ruby 1.9.2p290),我不必添加任何额外的配置,但可以尝试将以下行添加到顶层“_config.yml”文件。

    plugins:     _plugins
    

    或者可能的话,

    plugins:     ./_plugins
    

    测试你的插件是否工作的最简单的方法是除了你知道可以工作的一个之外,将它们全部删除。 我将以下内容放在一起,按照我的安装预期的方式工作。

  • 在您的jekyll源目录的根目录中创建一个名为“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 %}
    

    请注意,您可能需要将“layout:default”更改为实际使用的任何内容。

  • 使用以下内容在“_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)
    
  • 在源代码目录中运行jekyll。

  • 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。


    我知道我有点晚,但对于仍然遇到此问题的其他人,我想添加我的解决方案:重新启动服务器以使新添加的插件正常工作。 所以停止jekyll serve (Ctrl C)并重新启动它与jekyll serve

    链接地址: http://www.djcxy.com/p/10871.html

    上一篇: How can I debug plugins that are being silently ignored?

    下一篇: How to use Windows laptop as external monitor for Macbook Pro?