【发布时间】:2019-03-26 09:36:51
【问题描述】:
我使用 Sylvain Durand 的设置 making Jekyll multilingual 运行多种语言的 Jekyll 博客,而没有使用任何插件。
所有帖子都有以下标记:
---
title: Hello world!
lang: en
ref: hello
---
帖子使用正常的文件夹结构:
jekyll
|
-- posts
|
--name-of-post
--name-of-post-2
--name-of-post-3
我有一个名为 en.md 的页面,其中包含 layout: home 和 lang: en 标记,可以正确显示英文帖子,并在 home.html
{% assign posts=site.posts | where:"lang", page.lang %}
<ul>
{% for post in posts %}
<li>
<a href="{{ post.url }}">{{ post.title }}</a>
</li>
{% endfor %}
</ul>
但我想改为按类别显示帖子,按语言过滤。
尝试通过以下方式实现此目的:
{% assign posts=site.categories | where:"lang", page.lang %}
<div class="categories">
{% for category in site.categories %}
<li><a name="{{ category | first }}">{{ category | first }}</a>
<ul>
{% for posts in category %}
{% for post in posts %}
<li><a href="{{ post.url }}">{{ post.title }}</a></li>
{% endfor %}
{% endfor %}
</ul>
</li>
{% endfor %}
</div>
当我构建时,显示以下消息
液体异常:在 /_layouts/home.html 中没有将字符串隐式转换为整数
尝试了许多变体,但似乎没有一个有效。
【问题讨论】:
标签: jekyll liquid yaml-front-matter