2

我有一个 .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 标签?

4

1 回答 1

1

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

发生这种情况是因为您将<li>行缩进了四个空格,markdown-it(Eleventy 的默认降价解析器)将其视为代码块,因为那是CommonMark 的规范

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

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

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

{% for item in tags %}
- {{ item }}
{% endfor %}
于 2020-05-05T09:47:50.317 回答