gpt4 book ai didi

nunjucks - 这个 metalsmith-in-place 构建脚本有什么问题?

转载 作者:行者123 更新时间:2023-12-01 09:51:42 27 4
gpt4 key购买 nike

我正在尝试使用 metalsmith-in-place 对源目录子目录中的文件进行一些就地模板化。它不起作用。模板标签不会被 frontmatter 取代。

我的构建脚本:

var Metalsmith = require('metalsmith'),
inplace = require('metalsmith-in-place'),
nunjucks = require('nunjucks');

Metalsmith(__dirname)
.source('./source')
.use(inplace({
engine: 'nunjucks',
pattern: '*.html',
directory: 'source/deeper'
}))
.destination('./build')
.build(function(err) {
if (err) {
console.log(err);
}
else {
console.info('Built it.');
}
});

我的模板:

metalsmith_debug$ cat source/deeper/index.html
---
title: My pets
---

{{title}}

我的输出:

metalsmith_debug$ cat build/deeper/index.html

{{title}}

它适用于 source 中的文件;但我需要它来处理子目录。

最佳答案

一些变化:build.js:

var Metalsmith = require('metalsmith');
var inplace = require('metalsmith-in-place');
// var nunjucks = require('nunjucks');

Metalsmith(__dirname)
.source('./source')
.use(inplace({
engine: 'nunjucks',
pattern: '**/*.html' // modified pattern
// directory: 'source/deeper' // Not needed
}))
.destination('./build')
.build(function(err) {
if (err) {
console.log(err);
}
else {
console.info('Built it.');
}
});
  1. 您不需要在构建文件中要求 nunjucks,metalsmith-in-place 使用 consolidate,这将在必要时要求它。 (线可以删除)
  2. inplace中的pattern修改为**/*.html。有关详细信息,请参阅 Globbing patterns .
  3. directoryinplace 中不需要。 (线可以删除)

...以及对source/deeper/index.html 的一个小改动:

---
title: My pets
---

{{ title }}
  1. 在占位符 {{ title }} 周围添加了空间 - Nunjucks似乎认为这很重要。

现在应该可以为您工作,如果不行请告诉我。

关于nunjucks - 这个 metalsmith-in-place 构建脚本有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36488739/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com