Menu 使用liquid在嵌套的yaml列表中导航
我看到了一些关于这个话题的问题,但没有一个能解决我的问题。我想有一个多语言的jekyll网站不使用任何插件。我有一个带有这个嵌套列表的yaml文件Menu 使用liquid在嵌套的yaml列表中导航,menu,internationalization,yaml,jekyll,liquid,Menu,Internationalization,Yaml,Jekyll,Liquid,我看到了一些关于这个话题的问题,但没有一个能解决我的问题。我想有一个多语言的jekyll网站不使用任何插件。我有一个带有这个嵌套列表的yaml文件 menu: fr: home: name:"Acceuil" url:"/" team: name:"Équipe" url:"/equipe" en: home: name:"Home" url:"/home.html" team:
menu:
fr:
home:
name:"Acceuil"
url:"/"
team:
name:"Équipe"
url:"/equipe"
en:
home:
name:"Home"
url:"/home.html"
team:
name:"Team"
url:"/team"
我想打印一个不同的菜单,这取决于yaml封面上的page lang选项。最简单的例子是:
---
lang: en
---
<ul>
{% for item in site.menu.[page.lang] %}
<li><a href="{{ item[1].url }}">{{ item[1].name }}</a></li>
{% endfor %}
</ul>
---
朗:嗯
---
{site.menu.[page.lang]%中的项为%s}
{%endfor%}
这应该以原始html打印
- 家
- 团队
好的,我唯一的问题是我没有在值指示器和值之间留出空间。现在问题解决了。谢谢 根据YAML规范,在菜单文件中的冒号和值之间添加空格: YAML坚持将“:”映射值指示器与 按空格计算的值 同时删除
菜单:
键,并将菜单保存在名为\u data/menu.yml
的文件中
fr:
home:
name: "Acceuil"
url: "/"
team:
name: "Équipe"
url: "/equipe"
en:
home:
name: "Home"
url: "/home.html"
team:
name: "Team"
url: "/team"
然后,您可以使用site.data.menu
直接访问lang
键访问该数据,而无需在菜单
和页面之间使用
:
<ul>
{% for item in site.data.menu[page.lang] %}
<li><a href="{{ item[1].url }}">{{ item[1].name }}</a></li>
{% endfor %}
</ul>
{%用于site.data.menu[page.lang]%中的项]
{%endfor%}
这将产生:
<ul>
<li><a href="/home.html">Home</a></li>
<li><a href="/team">Team</a></li>
</ul>
- 我在一个多语言网站上使用了类似的方法,包括
根据YAML规范,在菜单文件中的冒号和值之间添加空格:
YAML坚持将“:”映射值指示器与
按空格计算的值
同时删除菜单:
键,并将菜单保存在名为\u data/menu.yml
的文件中
fr:
home:
name: "Acceuil"
url: "/"
team:
name: "Équipe"
url: "/equipe"
en:
home:
name: "Home"
url: "/home.html"
team:
name: "Team"
url: "/team"
然后,您可以使用site.data.menu
直接访问lang
键访问该数据,而无需在菜单
和页面之间使用
:
<ul>
{% for item in site.data.menu[page.lang] %}
<li><a href="{{ item[1].url }}">{{ item[1].name }}</a></li>
{% endfor %}
</ul>
{%用于site.data.menu[page.lang]%中的项]
{%endfor%}
这将产生:
<ul>
<li><a href="/home.html">Home</a></li>
<li><a href="/team">Team</a></li>
</ul>
- 我在一个多语言网站上使用了类似的方法,包括
谢谢,在值指示器和值之间留出空格可以解决问题!谢谢,在值指示器和值之间留出空格可以解决问题!