我正在GitHub Pages上使用Jekyll来构建博客,并希望获得传递给YAML前题中Liquid模板的page.title字符串的长度,该字符串在每个帖子的YAML主题中。我还没有找到一种简单的方法来做到这一点。查看Liquid For Designers Guide,我可以看到它支持两种类型的标记:

  • 输出标记-用双花括号{{ }}分隔,您可以输出传递到模板的变量,这些变量可以在YAML前端,例如Jekyll中的page.title_config.yml中的全局站点级别变量。为了输出帖子或页面的标题,您可以使用{{ page.title }}
  • 标记标记-用花括号和百分数{% %}分隔,这些用于模板中的逻辑。如果语句循环,则表示该类型的事物。

  • 显然,您可以在“输出标记”中使用很多过滤器,并且可以使用{{ page.title | size }}输出传递到模板的字符串的长度。

    但是,我想在模板中执行的操作是根据标题的长度使用<h1><h2><h3> header 呈现页面标题。

    无论如何,我无法弄清楚标签标记和输出标记的混合。

    我可以使用page.title{{ page.title | size }}的大小输出到页面上,但是我无法弄清楚如何在if语句中使用长度。这也将返回字符串表示形式,而不是数字。

    有对Liquid有更多经验的人知道该怎么做吗?

    理想情况下,我想做的事情与此类似:
    {% if page.title | size > 5 %}
    

    最佳答案

    我一直在研究使用液体语法在页脚中建立链接,这非常简单。

    {% assign thesize = variable.size %}
    {% if thesize > 5 %}
        Do stuff here.
    {% endif %}
    

    至少在我正在做的事情上起作用,只是以为我会把它扔在那里。我在使用捕获时遇到问题,因为它会自动存储为字符串。

    再说一遍
    {% if variable.size > 5 %}
          Do stuff here.
    {% endif %}
    

    应该也一样工作。

    关于github - 如何在Jekyll's Liquid模板中比较字符串大小/长度?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16762714/

    10-14 08:54