【问题标题】:Jekyll templates/snippits/shortcutsJekyll 模板/片段/快捷方式
【发布时间】:2017-05-30 20:56:49
【问题描述】:

我已经用 Jekyll 玩了几天,我有一个工作网站,但在许多页面上我想使用模板/片段/快捷方式,以便轻松重用常用类型的内容.

在 MediaWiki 中,我会这样做;

This is a test {{ iconSmileFace }}

{{ iconSmileFace }} 显然翻译成 <img src = "resources/images/smile.png" /> 之类的东西

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

【问题讨论】:

    标签: jekyll liquid jekyll-extensions


    【解决方案1】:

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

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

    然后将其包含在您需要的地方{% include icon.html icon="smiley-face" %}

    【讨论】:

    • 这是最接近我使用的解决方案。我使用了{% include iconSmile.htm %} 之类的语法,因为每次输入都更短。
    • 我犯了一个小错误,因为上下文是 jekyll 本来应该是 {% case include.icon %}
    • @xconspirisist 我认为有你的语法很好,但我不喜欢为每个图标都有一个文件。
    • 由于它们会被频繁使用,我认为减少打字量更重要,这就是为什么理想情况下我会喜欢 {{ iconSmileFace }} 这样的东西,这就是我选择以上选项。我想到了_includes/中的大量小文件,但是由于站点是静态编译的,对浏览站点的人没有性能影响,这就是为什么我认为可以接受的原因。
    【解决方案2】:

    一个好主意是定义一个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 %},它就会生成&lt;img src="resources/images/smile.png" /&gt;

    【讨论】:

    • 我觉得这个解决方案太过分了 - 必须为每个实例正确处理大量样板 ruby​​ 代码对我来说不起作用。
    【解决方案3】:

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

    (虽然我自己没有测试过)

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

    emoji
      src: "/resources/images"
    

    然后在你的 markdown 文档中引用表情符号:

    It's a beautiful day! :smile:
    

    【讨论】:

    • 这是一个优雅的解决方案,但不幸的是,我想做的不仅仅是微笑。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-04
    • 2012-07-09
    • 1970-01-01
    • 2015-09-20
    • 2011-08-09
    • 2012-04-21
    • 2022-12-16
    相关资源
    最近更新 更多