找到与正则表达式

时间:2015-05-19 00:06:43

标签: regex jekyll

我在jekyll中找不到page_url方法或类似内容,我不希望我的索引页只是在静态网站中列出每个页面。所以,我提出了一个解决方案,但我不确定如何实现它:我将使用index.html中的默认代码来浏览每个链接,然后只列出与某个正则表达式匹配的链接。像这样:

  <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>

只有这不起作用。我确定我做的事情不正确。谁能帮我?或者指向一个更简单的链接到内部页面的方向,而不必事先知道页面的URL?

1 个答案:

答案 0 :(得分:1)

液体状况为{%if page.permalink ==&#39;某些字符串&#39; %}只允许您比较字符串。你不能在液体中使用正则表达式。

为了只打印所需页面,你可以在前面添加一个标志,如:

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

并且仅选择包含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数组/字符串过滤器{% if page.url contains 'anyWord' %}do something{% endif %}