简介
在前端开发中,我们常常需要对文章或页面进行分类和标签的管理。而 metalsmith-tags-list 就是一款可以实现这种需求的 npm 包,它可以根据文章或页面的标签,生成对应的分类页面,并在分类页面中展示所有相关文章或页面的列表。
安装
使用 npm 进行安装:
npm install metalsmith-tags-list
配置
在 metalsmith 的配置文件(通常是一个 js 文件)中进行如下配置:
const Metalsmith = require('metalsmith'); const tags = require('metalsmith-tags-list'); Metalsmith(__dirname) .use(tags()) .build();
上述配置会在生成的网站中,为每个标签生成一个分类页面,并在每个分类页面中添加对应标签的文章或页面列表。
使用
在文章或页面的 metadata 中,添加一个名为 "tags" 的属性,并将它设为一个数组,该数组中包含该文章或页面所属的所有标签。例如:
--- title: "我的博客" date: "2021-05-01" tags: - 前端 - JavaScript - Markdown ---
上述 markdown 文件中,该文章所属的标签为 "前端"、"JavaScript" 和 "Markdown"。
现在,运行 metalsmith,即可看到每个标签都对应着一个分类页面,并且这个分类页面中,列出了所有与该标签有关的文章或页面。
高级配置
metalsmith-tags-list 还提供了一些高级配置选项,以便更丰富的自定义。在进行高级配置之前,需要先了解 metalsmith-tags-list 中提供的几个默认选项,它们分别为:
选项 | 描述 |
---|---|
templateFile |
模板文件路径 |
templateHelper |
模板中可以使用的 Helper 函数 |
outputPath |
生成的页面输出的路径 |
pageTitle |
分类页面的标题 |
下面我们来学习如何进行高级配置。
sortKey
使用 sortKey
可以指定文章或页面列表的排序方式。默认为 "date",即按发布时间排序。
例如,设置为 "title",则会按照文章或页面的标题进行排序。示例配置如下:
.use(tags({ sortKey: 'title' }))
reverse
使用 reverse
可以指定文章或页面列表的排序方式是否为反转,默认为 false,即升序排序。
例如,设置为 true,则会按照倒序进行排序。示例配置如下:
.use(tags({ reverse: true }))
limit
使用 limit
可以指定每个分类页面中,文章或页面列表的限制数量。默认为无限制。
例如,设置为 10,则每个分类页面中,最多只会显示 10 篇文章或页面。示例配置如下:
.use(tags({ limit: 10 }))
skipMetadata
使用 skipMetadata
可以指定 metalsmith-tags-list 不应该处理哪些 metadata 信息。默认为空,即不跳过任何信息。
例如,设置为 ["title"],则 metalsmith-tags-list 不会处理文章或页面的标题信息。示例配置如下:
.use(tags({ skipMetadata: ['title'] }))
addToList
使用 addToList
可以在每个分类页面中添加其他内容,例如 sidebars。
例如,设置为 function (files, tag, tagData, options) { return mySidebar }
,其中 mySidebar
表示侧边栏内容,则会在分类页面中添加该侧边栏。示例配置如下:
-- -------------------- ---- ------- ----------- ---------- -------- ------- ---- -------- -------- - ------ - ------------- ---- ------ -------------------------------------- ----- -- - ---
总结
metalsmith-tags-list 是一款非常实用的 npm 包,它可以方便我们对文章或页面进行分类和标签的管理,并且生成对应的分类页面,让我们的网站更加健全。希望本文能够对您有所帮助,欢迎交流探讨。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066f421d8e776d08040ddc