这里是 Jekyll 的新人(之前在海德)。
- 放置在 _plugins/ 目录中的 Ruby 文件显然会被忽略。
- 我在 Ubuntu 12.04 上使用 0.11.2 版的 Jekyll,以及 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 %}
请注意,您可能需要将“布局:默认”更改为您实际使用的任何内容。
在“_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 %}
文本“它正在工作!”替换液体标签的实例。如果您的插件正在触发,您将看到输出
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
。