如何在Eleventy模板中正确渲染前置元数据中的HTML内容
解决Eleventy前置元数据中HTML内容被转义的问题
这是因为Eleventy使用的Nunjucks模板引擎默认会自动转义变量输出的HTML内容,将<、>这类字符转换为HTML实体,以此避免潜在的XSS风险,这就是你看到<a>这类转义结果的原因。
直接修改模板代码即可解决——给imageCredit变量添加safe过滤器,明确告诉模板该内容是安全的,不需要进行转义处理:
{% if imageCredit %}{{ imageCredit | safe }}{% endif %}
修改后重新渲染,内容会保留原始HTML标签,链接能正常显示并可点击。
注意:仅当你完全信任前置元数据中的HTML内容(比如内容均为自己编写,无用户提交的未知内容)时,才使用这个过滤器,避免引入安全风险。
内容的提问来源于stack exchange,提问作者mack
相关产品推荐
相关产品推荐

