前言
在进行静态网站生成时,元数据(metadata)是一个十分重要的概念。它可以让你更好地组织你的内容,方便编写模板文件等等。Metalsmith 是一个十分流行的静态网站生成器,同时它也提供了相应的插件来方便地管理元数据。本文将详细介绍其中一个插件:metalsmith-metadata
的使用方法。
安装
使用 npm 来安装 metalsmith-metadata
,输入以下命令:
npm install --save metalsmith-metadata
用法
在 Metalsmith 中加入插件 metalsmith-metadata
:
-- -------------------- ---- ------- ----- ---------- - ---------------------- ----- -------- - ------------------------------- --------------------- ---------------- ----------------------- --------------- ----- - ------ --- ---- ------ - --- ---------- -- - -- ----- ----- ---- ---
在这个例子中,我们定义了一组元数据 site
,它有一个子属性 title
。这组元数据将会被注入到每一个文件的 metalsmith 属性中,可以在模板文件中直接使用 {{ metadata.site.title }}
的方式来引用。
当然,你也可以使用一个 JSON 文件来代替 JavaScript 对象来存储元数据。方法如下:
.use(metadata(require('./metadata.json')))
在这个例子中,我们引用了一个名为 metadata.json
的文件来存储元数据。
示例
拿我们的博客为例子,我们可以在 ./src/posts/
目录下创建一个名为 hello-world.md
的 Markdown 文件,并在文件的头部添加以下内容:
--- title: Hello World date: 2018-01-01 tags: ["hello", "world"] --- 这是我的第一篇博客。
然后在模板文件中使用以下代码来显示标题、发布日期和标签:
<h1>{{ metadata.title }}</h1> <p>{{ metadata.date }}</p> <ul> {{#each metadata.tags}} <li>{{ this }}</li> {{/each}} </ul>
以上代码会渲染成以下 HTML:
<h1>Hello World</h1> <p>2018-01-01</p> <ul> <li>hello</li> <li>world</li> </ul>
总结
本文介绍了使用 metalsmith-metadata
插件来管理元数据的方法。通过使用元数据,我们可以将网站的一些共性信息固定下来,方便后期维护和修改。同时,我们可以根据自己的需要来添加和修改元数据。希望本文能够对前端开发者在使用 Metalsmith 时管理元数据提供一些帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedb60cb5cbfe1ea06114ca