我在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?
答案 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 %}