gpt4 book ai didi

filter - 在 Liquid 标签中使用过滤器

转载 作者:行者123 更新时间:2023-12-03 11:10:23 44 4
gpt4 key购买 nike

我正在使用 jekyll 和 Liquid 在 github 页面上生成一个静态网站。

我想根据文档中的内容量是否达到特定数量的作品来做出一些内容决策。 jekyll 有一个液体过滤器,它计算我想在 if 标签中使用的单词数。我试过这个:

{% if page.content | number_of_words > 200 %} 
...
{% endif %}

但它似乎不起作用。我还尝试将结果分配给一个变量并使用它,并捕获过滤器的输出。但到目前为止,我没有运气。

有没有人设法在液体标签中使用过滤器?

最佳答案

编辑:这不再是最新的解决方案,请参阅并投票 Martin Wang's assign -based solution反而:

{% assign val = page.content | number_of_words %}
{% if val > 200 %}
....
{% endif %}
>```


在最初撰写此答案时 (2011) assign不是一个可行的解决方案,因为它不适用于过滤器。该功能在一年后推出, in 2012 .

如果有人需要在旧版本的 Liquid 中处理这个问题,请在下面留下我 2011 年的原始答案。

我认为不可能以这种方式在标签内使用过滤器;这似乎不可能。

但是,我设法建立了一组可能解决您的特定问题的条件(辨别页面是长于还是短于 200 个字)。就是这个:
{% capture truncated_content %}{{ page.content | truncatewords: 200, '' }}{% endcapture %}

{% if page.content != truncated_content %}
More than 200 words
{% else %}
Less or equal to 200 words
{% endif %}

为了使计算更精确,使用 strip_html 可能是明智的。运算符(operator)。这给了我们:
{% capture text %}{{ page.content | strip_html }}{% endcapture %}
{% capture truncated_text %}{{ text | truncatewords: 200, '' }}{% endcapture %}

{% if text != truncated_text %}
More than 200 words
{% else %}
Less or equal to 200 words
{% endif %}

问候!

关于filter - 在 Liquid 标签中使用过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5972126/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com