Metalsmith 是一个静态网站生成器,可以将 Markdown 文件转换成 HTML,并添加一些元信息。metalsmith-excerptor 是 Metalsmith 的一个插件,用于自动生成博客文章的摘要。本文将介绍如何使用 metalsmith-excerptor 插件来生成博客文章的摘要。
安装 metalsmith-excerptor
使用 npm 安装 metalsmith-excerptor:
npm install metalsmith-excerptor --save
配置 metalsmith
在 Metalsmith 的配置文件中,需要引入 metalsmith-excerptor:
-- -------------------- ---- ------- ----- ---------- - ---------------------- ----- --------- - -------------------------------- --------------------- -------------- --------------------- ----------------- ---------- -- - -- ----- ----- ---- ---
在上面的配置中,使用了 use
方法来添加 metalsmith-excerptor 插件。接下来,介绍一下如何配置 excerptor 插件。
配置 excerptor
在 metalsmith-excerptor 插件中,有一些参数可以配置:
pattern
:摘要的匹配模式,支持正则表达式,默认值是/<p>(.*?)<\/p>/i
。maxLength
:摘要的最大长度,默认值是 250。stripTags
:是否去除 HTML 标签,默认值是true
。
如果要配置这些参数,可以将配置项传递给 excerptor 方法,例如:
-- -------------------- ---- ------- ----- ---------- - ---------------------- ----- --------- - -------------------------------- --------------------- -------------- --------------------- ---------------- -------- ------------------- ---------- ---- ---------- ----- --- ---------- -- - -- ----- ----- ---- ---
在上面的示例中,摘要的匹配模式改为了 /<h2>(.*?)<\/h2>/i
,最大长度改为了 150,而且不会去除 HTML 标签。
在模板中使用摘要
在生成的 HTML 文件中,每个博客文章的摘要都会被添加到 metadata 中,可以通过模板引擎来将摘要输出到页面中。以下示例是在 Handlebars 模板中使用摘要的代码:
<div class="post"> <h2>{{title}}</h2> {{#if excerpt}} <p>{{excerpt}}</p> {{else}} <p>{{{contents}}}</p> {{/if}} </div>
在上面的代码中,如果 metadata 中有摘要,则使用摘要,否则使用文章正文作为摘要输出到页面中。
结论
Metalsmith 是一个强大的静态网站生成器,而 metalsmith-excerptor 则使得生成博客文章的摘要变得更加方便。在本文中,我们了解了如何使用 metalsmith-excerptor 插件,以及如何在模板中使用摘要,希望这篇文章对你有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066f3f1d8e776d08040b84