nunjucks - Metalsmith 没有逃脱 Markdown + Nunjucks 的输出
问题描述
我被这个问题困住了。当我按照metalsmith-in-place Wiki 中的说明使用 Markdown + Nunjucks 时,输出是错误的(见下文)。
默认布局,注意safe
过滤器(_layouts/base.njk
):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>{{title}}</title>
</head>
<body>
{{ contents | safe }}
</body>
使用 Markdown + Nunjucks ( about.md.njk
) 的模板:
---
title: About
layout: base.njk
---
# {{ title }}
输出:
<p><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>About</title>
</head>
<body></p>
<h1>About</h1>
<p> </body>
</html></p>
解决方案
发布问题后立即解决。这可能会有所帮助,问题是我的插件顺序build.js
:
Metalsmith(__dirname)
.source('./contents')
.destination('./build')
.clean(true)
.use(inPlace()) // inPlace must come BEFORE layouts!
.use(layouts({
directory: '_layouts',
default: 'base.njk'
}))
.build(function(err) {
if (err) throw err;
});
推荐阅读
- regex - Oracle SQL Regex 美元符号不能确定字符串的结尾
- file - TYPO3 如何生成文件的索引,如其 XML 网站导出数据所示?
- r - 为什么 print() 会改变我的函数的输出?
- javafx - 是否可以在我键入时自动格式化 JavaFX HTMLEditor 内容?
- python - Pandas 数据框分配引发 SettingWithCopyWarning
- hsm - CryptokiError:0x60 密钥句柄无效
- cmake - cmake - 如何找出上次构建期间使用的选项
- sapjco3 - sapjco3.dll 已在另一个类加载器中加载
- ios - 无法检查 IOS swift 应用程序中的空文本字段
- android - NavigationView 的 Android ReselectedListener