使用正则表达式查找 jekyll link

Finding jekyll link with regex

我在 jekyll 中找不到 page_url 方法或类似的东西,我不希望我的索引页面简单地列出 every 我的静态页面地点。所以,我想出了一个解决方案,但我不确定如何实现它:我将使用 index.html 中的默认代码遍历每个 link 然后只列出那些匹配某个正则表达式的。像这样:

  <div class="trigger">
    {% for page in site.pages %}
      {% if page.permalink == '^\/.*\/$' %}
      <a class="page-link" href={{ page.url | prepend: site.baseurl }}>{{ page.title }}</a>
      {% endif %}
    {% endfor %}
  </div>

只有这样不行。我确定我做错了一些简单的事情。谁能帮我?或者指出一个更简单的方法 link 到内部页面而不必事先知道页面的 URL?

Liquid condition as {% if page.permalink == 'some string' %} 只允许您比较字符串。您不能对液体使用正则表达式。

为了只打印需要的页面,您可以在前面添加一个标志,例如:

---
[...]
home: true
---

和 select 只有包含 page.home == true

的页面
<div class="trigger">
  {% for page in site.pages %}
    {% if page.home and page.home == 'true' %}
    <a class="page-link" href={{ page.url | prepend: site.baseurl }}>{{page.title }}</a>
    {% endif %}
  {% endfor %}
</div>

您也可以使用:

  • split数组过滤器{% assign urlArray = page.url | slit: '/' %}
  • contains array/string 过滤器 {% if page.url contains 'anyWord' %}do something{% endif %}