安装你的第一个Jekyll插件(基本插件推荐)

插件(Plugins)允许你扩展 Jekyll 的行为,以满足你的需求。Jekyll 中共有六种类型的插件。

生成器(Generators)

Generators 用于为你的网站生成内容。 例如:

转换器(Converters)

Converters 用于将一种标记语言转换为另一种格式。 例如:

命令(Commands)

Commands 用于为 jekyll 可执行命令扩展子命令。 例如:

标签(Tags)

Tags 用于创建自定义 Liquid 标签。 例如:

过滤器(Filters)

Filters 用于创建自定义 Liquid 过滤器。 例如:

Hooks

Hooks 提供了更细粒度的控制,用于扩展构建流程。 例如:

标记(Flags)

编写插件时,有两个需要注意的标记:

标记 说明

safe

一个布尔值标记,用于告诉 Jekyll 该插件是否可以在不允许任意代码执行的环境中安全运行。 GitHub Pages 会使用这个标记来判断哪些核心插件可以使用,哪些插件不安全。 如果你的插件不会允许任意代码执行,请将其设置为 true。 即使 GitHub Pages 仍然不会加载你的插件,但如果你准备将插件提交到核心插件中,最好确保这个值设置正确!

priority

这个标记用于决定插件的加载顺序。有效值包括: :lowest:low:normal:high:highest。 优先级越高的插件会越先执行,优先级越低的插件会最后执行。

以下是一个使用上述两个标记的示例插件:

module Jekyll
  class UpcaseConverter < Converter
    safe true
    priority :low
    ...
  end
end

最佳实践

这些指南会帮助你了解创建插件的具体方法。除此之外,我们还有一些推荐的最佳实践,可以帮助你更合理地组织插件结构。

我们建议你将插件制作成一个 gem。这样可以帮助你:

如果你想了解如何创建 gem,可以参考 Ruby gems guide,或者查看现有插件的源码,例如 jekyll-feed