Front Matter 出现在页面上

Front Matter is Appearing on Page

提问人:Jcott 提问时间:1/18/2023 最后编辑:Jcott 更新时间:3/15/2023 访问量:80

问:

我在 11ty 网站上有布局链接。当我将 front matter 添加到基本模板时,front matter 会呈现并显示在浏览器中。我不明白为什么。注意:也使用双节棍。

base.njk:

---
test1: hello
---
<!doctype html>
HTML GOES HERE

层.njk:

---
test2: goodbye
---

{% extends "base.njk" %}
HTML GOES HERE

page.html:

---
layout: layer.njk
---
HTML GOES HERE
{{test1}}
{{test2}}
HTML GOES HERE

当我查看page.html时,模板可以正确呈现,但 base.njk 的正面内容出现在页面上。换句话说,我从字面上看到了破折号和属性/值声明。layer.njk 中的 front matter 未出现在页面上。

我试图完成的是在 base.njk 中建立全局常量,以便其他页面可以访问这些全局常量。

HTML nunjucks eleventy yaml-front-matter

评论

0赞 Community 1/18/2023
请澄清您的具体问题或提供其他详细信息,以准确强调您的需求。正如目前所写的那样,很难确切地说出你在问什么。

答:

0赞 joealmond 3/15/2023 #1

base.njk 不应包含 YAML 标头,因为它的内容将是 html 文件的基础!使用 html 标头和 bilerplate “<!doctype html>.........”启动文件。然后包括

{{ content | safe }}

以包含实际页面。

layer.njk 如下所示:

---
title: "Title goes here"
layout: "base.njk"
---

<h1>{{ title }} Home Page</h1>

11ty 将通过将 layer.njk 的主体插入 base.njk 来创建一个新的 HTML 页面

下面是一个不错的演练:https://www.freecodecamp.org/news/learn-eleventy/