Jekyll网站有几种语言



我有一个用西班牙语写的网站,但现在我想用英语写。我使用Jekyll和主题"瘦骨头",我修改了一些代码,但我发现了一个问题,我希望你能帮助我。

我在_config.yml中设置了一个名为lang的新变量,该变量最初设置为"es"(西班牙语)。

之后,我更改了下一个代码:

{% for post in site.categories.articles %}
 {% include post-grid.html %}
{% endfor %}

通过这个:

 <!-- español -->
 {% if site.lang == 'es' %}
  {% for post in site.categories.media %}
   {% if post.lang == 'es' %}
    {% include post-grid.html %}
   {% endif %}
  {% endfor %}
 {% endif %}
<!-- inglés -->
{% if site.lang == 'en' %}
 {% for post in site.categories.media %}
  {% if post.lang == 'en' %}
    {% include post-grid.html %}
  {% endif %}
 {% endfor %}
{% endif %}

在这个表单上,如果变量在_config.yml中设置为"en",而media文件夹中的post是一个lang设置为"n"的post,它就会显示出来。

这样做很好,当我更改_config.yml并将变量设置为"en"或"es",然后在本地主机中重建项目时,就会发生更改,只有它显示出习语中的帖子是正确的。

但我的问题是:?当服务器运行时,如何更改_config.yml上的变量?我的想法是在页面的某个地方制作一个按钮来更改这个变量。

我看到了功能{%assign site.lang='es'%}但当我在代码中执行此操作时,它不起作用。

嗯,我知道这不是一个复杂的问题,但我找不到解决办法。

非常感谢你的帮助。

如果你想看,这是我的回购页面。

?服务器运行时如何更改_config.yml上的变量?

我敢肯定你做不到。你看过这个插件吗?

https://github.com/screeninteraction/jekyll-multiple-languages-plugin

最新更新