液体标签中的通配符匹配?

时间:2015-06-26 10:43:41

标签: jekyll liquid

我试图从我网站的RSS Feed中过滤掉部分帖子。我想要帖子的其余部分,但只想删除某些部分。

有没有办法以某种方式过滤掉这个?我查看了这些Liquid标签/过滤器,我发现的最接近的是removereplace,但它们似乎完全一致。

我试图基本上在feed.xml

中执行此操作

{{ post.content | replace:'<span class="no-rss">*</span>','' | cdata_escape }}

有没有办法在这些过滤器中使用通配符,或者实现这一点,否则我不知道?我的Google-fu在这个问题上已经干了。

2 个答案:

答案 0 :(得分:4)

两种解决方案:

使用摘录帖子

您要在Feed中注入的部分帖子位于帖子的开头。

使用excerpt

用液体过滤器分离部分内容物

如果您在page(他们没有摘录)或在帖子中想要选择内容的特定部分,则可以使用液体过滤器。 string.splitarray filters

在任何帖子或页面中

---
your front matter variables here
---
Head of my document
<!-- start -->
Text to extract
<!-- end -->
Bottom of my document
你的rss

{% for p in site.posts %}
    {% if p.content contains "<!--start-->" %}
        {% assign extract = p.content | split: "<!--start-->" | last | split: "<!--end-->" | first %}
        {{ extract }}
    {% else %}
        {{ p.content }}
    {% endif %}
{% endfor %}

答案 1 :(得分:1)

您可以摆脱应用于它的样式类,而不是删除整个范围:

{{ post.content | remove: ' class="no-rss"' | cdata_escape }}