使用正则表达式查找 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 %}
我在 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 %}