Jekyll 过滤器根据 page.url 从 site.pages 中删除页面?

Jekyll filter to remove pages from site.pages based on page.url?

在为我的(非 github)Jekyll 站点生成 Google 站点地图时,我想根据页面 URL(或文件名)排除某些文件.在 shell-speak 中,类似于

site.pages | grep -v forbidden_name

在 Liquid 中,我想象一个类似

的签名

site.pages | exclude 'url', forbidden_name

在相关说明中,是否有标准、内置过滤器、标签和生成器的目录?比 grep -Rl register_filter ~/.rvm/gems?

更方便的东西

你可以试试

{% for p in site.pages %}
    {% if p.url contains 'ca' %}
        {% comment %}Do nothing{% endcomment %}
    {% else %}
        {{ p.title }}
    {% endif %}
{% endfor %}

有点古怪,不区分大小写且没有通配符。

我制作了一个适用于 Github 的 list of tags and filters