Jekyll-选择最前面具有特定键的页面

问题描述

我有一个用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 Jekylldocumentation of Liquid中,我都找不到关于此的有用信息。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)