【问题标题】:How do I get my Eleventy template to not encode HTML tags?如何让我的 Eleventy 模板不编码 HTML 标签?
【发布时间】:2020-08-16 21:19:54
【问题描述】:

我有一个遍历标签集合的 .md 文件:

---
title: The First Page
date: Created
tags: 
    - home
    - flashcards
    - info
    - other
---

## {{ title }}

**Publish Date:** {{ page.date }}

This is the index page now.

<ul>
    {% for item in tags %}
    <li>{{ item }}</li>
    {% endfor %}
</ul>

但是当我运行它 (eleventy --serve) 时,它会编码 HTML 标签:

如何让它不编码 HTML 标签?

【问题讨论】:

    标签: eleventy


    【解决方案1】:

    您的标签正在呈现为代码块。检查元素,您会注意到它们在 &lt;code&gt; 标记内呈现为文本,随后在 &lt;pre&gt; 标记内。

    发生这种情况是因为您将 &lt;li&gt; 行缩进了四个空格,markdown-it(Eleventy 的默认降价解析器)将其视为代码块,即 CommonMark's spec

    你有两种方法可以解决这个问题。一种是保持代码不变并使用较少的空格进行缩进:

    <ul>
      {% for item in tags %}
      <li>{{ item }}</li>
      {% endfor %}
    </ul>
    

    但这是一个markdown文件,所以你可以通过编写markdown来进一步简化它。

    {% for item in tags %}
    - {{ item }}
    {% endfor %}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-29
      • 2015-03-02
      • 2015-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多