我有一个用西班牙语写的网站,但现在我想用英语写。我使用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