我有一个网站,我用西班牙语写作,但现在我想用英语写这个。 我使用Jekyll和主题“Skinny Bones”,我修改了一些代码,但我发现了一个问题,我希望你能帮助我。
我在_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”设置变量并且媒体文件夹中的帖子是lang设置为“en”的帖子,则在此表单上显示。
这项工作正常,当我更改_config.yml并使用“en”或“es”设置变量并且我在本地主机中重建项目时,更改发生并且只显示成语正确的帖子。
但我的问题是:¿如何在服务器运行时更改_config.yml上的变量? 我的想法是在页面的某个位置创建一个更改此变量的按钮。
我看到了这个功能 {%assign site.lang ='es'%} 但是当我在代码中执行此操作时无法正常工作。
嗯,我知道这不是一个复杂的问题,但我找不到解决方案。
非常感谢你的帮助。
如果你想看到它,这是我的repo page。
答案 0 :(得分:0)
¿如何在服务器运行时更改_config.yml上的变量?
我很确定你做不到。你看过这个插件吗?
https://github.com/screeninteraction/jekyll-multiple-languages-plugin