Metalsmith 是一个简单、易用、灵活的静态网站生成器,它使得构建、生成和发布网站变得非常容易。Metalsmith 的灵活性表现在其插件系统上,你可以使用插件来扩展 Metalsmith 的功能。Metalsmith-excerpts 就是其中的一个插件,它用于从 Markdown 文件中抽取摘要。
安装
在使用 metalsmith-excerpts 插件前,需要先安装 Metalsmith 的依赖:
npm install metalsmith
然后安装 metalsmith-excerpts 插件:
npm install metalsmith-excerpts
使用
安装完成后,在 Metalsmith 配置文件中加载 metalsmith-excerpts 插件:
const excerpts = require('metalsmith-excerpts'); Metalsmith(__dirname) .source('./src') .use(excerpts()) .destination('./build') .build((err) => console.log(err ? err : 'Build complete'));
Metalsmith-excerpts 插件的默认设置可自定义。下面是默认配置:
excerpts({ pruneLength: 140, // 抽取摘要的最大长度(字符数) pruneString: '…', // 被截断的文本用什么符号表示 stripTags: true // 是否去除 HTML 标签 })
插件的设置方法如下:
.use(excerpts({ pruneLength: 300, pruneString: '......', stripTags: false }));
示例
对于以下的 md 文件:
--- title: My First Post date: 2018-05-15 --- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed vitae lorem eu massa faucibus varius ut sit amet nulla. Proin eget libero mollis, sagittis libero ut, varius arcu. Nunc id dictum mauris. Suspendisse potenti. Morbi ut tellus sed nisi facilisis ullamcorper et ac lorem. Donec lacinia justo ut mi faucibus luctus. Sed pellentesque pulvinar nisi. Quisque vulputate risus vel lacus blandit, vitae pharetra neque bibendum.
使用 metalsmith-excerpts 插件抽取摘要:
--- title: My First Post date: 2018-05-15 --- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed vitae lorem eu massa faucibus varius ut sit amet nulla. Proin eget libero mollis, sagittis libero ut, varius arcu. Nunc id dictum mauris. Suspendisse potenti. Morbi ut tellus sed nisi facilisis ullamcorper et ac lorem. Donec lacinia justo ut mi faucibus luctus. Sed p…(后面省略)
结语
Metalsmith-excerpts 是一个非常实用的插件,可以让我们在使用 Metalsmith 来生成静态网站时,自动从文章中提取摘要。希望这篇文章可以帮助到初学者,同时也可以提供一些思路,让大家在实现类似功能的时候有更多的选择和思路。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/85540