微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐