Jekyll strip_html但允许某些HTML标记

在我的Jekyll帖子中,我使用strip_html在主页面显示帖子的简短50字的介绍:

<p>{{ post.content | strip_html | truncatewords:50 }}</p>

strip_html从此摘录中删除所有HTML.但我想包括一些HTML,特别是< i>和< p>.

是否有配置(_config.yaml),或者是否存在strip_html没有自定义的限制?

解决方法

AFAIK没有内置的方法自定义strip_html.

如果你有一个独家 – 而不是那么长 – 你想要的标签列表,你可能首先使用你要保留的标签替换非html标记,然后使用strip_html,再次替换以取回HTML:

{% assign preprocessed_content=post.content | replace: '<p>','__p__' %}
{% assign preprocessed_content=preprocessed_content | replace: '</p>','__/p__' %}

{% assign truncated_content=preprocessed_content | strip_html | truncatewords:50 %}

{% assign cleaned_content=truncated_content | replace: '__p__','<p>' %}
{% assign cleaned_content=cleaned_content | replace: '__/p__','</p>' %}

<p>{{ cleaned_content }}</p>

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些