简介
Metalsmith 是一个简单、可插拔的静态站点生成器。Metalsmith-Drafts 是用于在 Metalsmith 中处理草稿文章的插件。它可以让你方便地将未完成或未经审核的文章从构建过程中排除,并在需要时轻松地添加到生成的站点中。
安装
安装 metalsmith 和 metalsmith-drafts:
npm install metalsmith metalsmith-drafts --save-dev
配置
在 Metalsmith 的配置中添加 drafts 插件并设置选项:
-- -------------------- ---- ------- ----- ---------- - ---------------------- ----- ------ - ----------------------------- --------------------- -------------- ------------ ------ -- - -- ----- ----- ---- ------------------- ---
默认情况下,插件会忽略以“.”或“_”开头的文件和文件夹。如果要更改此行为,请提供选项对象:
.use(drafts({ pattern: ['**/*', '!**/_*'] }))
这里的 pattern 是 minimatch 格式的数组,指定了哪些文件应该被视为草稿。上面的例子指示插件忽略所有以“_”开头的文件和文件夹。
使用
将需要作为草稿的文件放入 drafts 文件夹中。插件会自动将这些文件从构建过程中排除。如果你需要在本地服务器上预览这些文件,可以使用 metalsmith-serve 插件。
-- -------------------- ---- ------- ----- ---------- - ---------------------- ----- ------ - ----------------------------- ----- ----- - ---------------------------- --------------------- -------------- ------------- ------------ ------ -- - -- ----- ----- ---- ------------------- ---
示例代码
假设有如下的目录结构:
. ├── drafts │ ├── post1.md │ └── _post2.md ├── index.html ├── post3.md └── _post4.md
只有 post1.md 会被包含在生成的站点中。通过以下命令运行 metalsmith:
npx metalsmith
或者添加脚本到 package.json 中:
{ "scripts": { "build": "metalsmith" } }
然后运行:
npm run build
结论
Metalsmith-Drafts 是一个非常有用的插件,可以帮助你在构建静态站点时管理草稿文章。它易于使用、配置灵活,同时与 Metalsmith 的其他插件集成良好。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/45537