Jekyll:为for循环上的帖子分配变量

时间:2016-07-12 11:17:04

标签: jekyll

我正在尝试为公司创建一个多语言网站,因为他们有很多信息,我想在法语和英语中包含他们所有的信息在同一篇文章中像这样:

en:
   title: "English Stuff"
fr:
   title: "French Stuff"

问题是,为了在相同的布局中动态使用它们,使用类似的东西,

{{ post.[post.lang].title }}

我希望在assign编辑变量时for变量,以便自动在帖子上分配我想要的语言,例如:

{% for post in site.categories.yesterday %}

  {% assign lang = en %}

    <li><h2><a href="{{ post.url }}">{{ post.lang.title }}</a><h2></li>

{% endfor %}

似乎没有工作(标题没有呈现),所以我想问你的意见。这是最可行的方式吗?我做错了什么,我该怎么做才能改善它?

2 个答案:

答案 0 :(得分:1)

最简单的解决方案是在不同的域上构建单独的站点。它不是DRY,但它是最简单的解决方案。 Google will tell you the same.

但是,如果您的网站需要进行大量更改/随着时间的推移而发展,那么“不要干”&#39;部分可能变得令人沮丧。这是使用internationization plugin的理由。

答案 1 :(得分:1)

帖子中的这个前沿:

----
en:
   title: "English Stuff"
fr:
   title: "French Stuff"
----

...适用于此循环:

{% for post in site.categories.yesterday %}

  {% assign lang = en %}

    <li><h2><a href="{{ post.url }}">{{ post[lang].title }}</a><h2></li>

{% endfor %}