问题描述
我有一个用Jekyll制作的网站,导航条看起来像这样:
{% for my_page in site.pages %}
{% if my_page.title %}
{% if my_page.lang == page.lang %}
<a class="page-link" href="{{ my_page.url | prepend: site.baseurl }}">{{ my_page.title }}</a>
{% endif %}
{% endif %}
{% endfor %}
这很好用,但是当我尝试使用where_exp
过滤器获得相同的结果时,我无法做到。
{% assign lang_pages = site.pages | where_exp: "item","item.title" | where: "lang",page.lang %}
{% for my_page in lang_pages %}
<a class="page-link" href="{{ my_page.url | prepend: site.baseurl }}">{{ my_page.title }}</a>
{% endfor %}
where:"lang",page.lang
过滤器可以正常工作,但是对于没有标题的页面,我得到了很多空白空间,这些页面没有正确过滤。我还尝试了以下过滤器,但没有一个起作用:
-
where_exp: "item","item.title != nil"
-
where_exp: "item","item.title != empty"
-
where_exp: "item","item.title != '' "
-
where_exp: "item","item contains 'title' "
-
where: "title"
-(这出现在Liquid文档中,甚至没有编译)
我能想到的唯一解决方法是将title: nil
手动添加到所有不应该包含的页面中,但这似乎不值得。 有没有办法只选择前端具有特定键的页面?
在documentation of Jekyll和documentation of Liquid中,我都找不到关于此的有用信息。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)