杰基尔 templates/snippits/shortcuts

Jekyll templates/snippits/shortcuts

我已经使用 Jekyll 玩了几天,我有一个可以工作的网站,但在很多页面上我想使用 templates/snippits/shortcuts 以便于重复使用 -输入的内容。

在 MediaWiki 中,这就是我会做的;

This is a test {{ iconSmileFace }}

其中 {{ iconSmileFace }} 显然可以翻译成 <img src = "resources/images/smile.png" />

我看到 Jekyll 有包含,所以我可以这样做 {{% include iconSmileFace.html %}} 但这种语法似乎有点冗长,而且可能不完全是 Jekyll 的做事方式。还有其他更好的方法吗?

一个好主意是定义一个 liquid tag.

创建 _plugins 目录和名为 smile.rb 的文件,内容如下:

module Jekyll
  class RenderSmileTag < Liquid::Tag

    def render(context)
      '<img src = "resources/images/smile.png" />'
    end
  end
end

Liquid::Template.register_tag('smile', Jekyll::RenderSmileTag)

然后每次你想要渲染图像时只需使用:{% smile %} 它将生成 <img src="resources/images/smile.png" />

如果您的目的是使用快捷方式输出图像标签,还有另一种方法 GitHub Pages 支持的插件:

(虽然我自己没测试过)

从插件 jemojidocumentation,您可以通过指向 _config.yml 中的自定义来源来提供自定义表情符号:

emoji
  src: "/resources/images"

然后在您的降价文档中引用表情符号:

It's a beautiful day! :smile:

我会创建一个片段来保存我所有的图标,无论它们是图像、svg 还是字体图标:

{% case include.icon %}
{% when 'smiley-face' %}
  Smiley face
{% when 'heart' %}
  Heart
{% when 'close' %}
  X
{% when 'next' %}
  >
{% endcase %}

然后把它包含在你需要的地方{% include icon.html icon="smiley-face" %}