我在1周前开始使用Jekyll
,并且不熟悉Ruby,我想实现以下功能。
从Jekyll
documentation我可以使用以下模板计算文章中的字词:
{{ page.content | number_of_words }}
我想使用此信息来计算文章的估计阅读时间(以分钟为单位),基于平均200 words per minute
的假设。其中给出了以下简单公式:
number_of_words / 200
不确定,但根据我读过的关于Ruby的内容,我应该使用{% %}
来执行我的计算,但我不确定是否可以使用{{ page.content | number_of_words }}
来执行我的计算分裂。
以下是我目前的情况:
.html文件:
.
.
<p class="meta">
{% print {{number_of_words}} / 200 %}
</p>
.
.
我确信上面使用的number_of_words
不存在,我不确定print
是否会在那里做到这一点。有什么想法吗?
答案 0 :(得分:5)
虽然Jekyll是用Ruby编写的,但在使用它时通常不需要编写任何Ruby。它使用Liquid,它是明确设计的,允许用户创建页面设计而不允许它们运行任意代码。
Liquid确实有tags(Jekyll添加some more),它使用{% %}
,但在这种情况下,我认为您可能会对使用{{的Erb模板语言感到困惑。 1}}执行Ruby代码。
如果需要,您可以创建自己的自定义Liquid标签和过滤器,但在这种情况下,<% %>
过滤器似乎可以执行您想要的操作:
divided_by
注意这是整数除法,与您的示例相同,因此如果字数小于200,则结果将为零。要检查这一点,只有在总数> 1时才包括它。 0,您可以使用{{ page.content | number_of_words | divided_by: 200 }}
标记(可以与过滤器一起使用)和assign
标记,如下所示:
if