npm 包 metalsmith-versioned-posts 使用教程

阅读时长 5 分钟读完

概述

metalsmith-versioned-posts 是一个基于 metalsmith 搭建的静态网站博客的插件。该插件可以帮助你实现版本化的文章发布,支持同一篇文章的多个版本,方便用户查阅历史版本的文章。

安装

要使用 metalsmith-versioned-posts,首先需要安装 metalsmith:

然后再安装 metalsmith-versioned-posts:

配置

在使用 metalsmith-versioned-posts 之前,需要先配置 Metalsmith。以下是一个参考的 metalsmith 配置文件(其中的 metalsmith-versioned-posts 配置采用默认值):

-- -------------------- ---- -------
----- ---------- - ----------------------
----- -------- - -------------------------------
----- ------- - ------------------------------
----- ---------- - ---------------------------------
----- -------------- - --------------------------------------

---------------------
  ----------------
  ------------
  ----------------------
  ----------------
  ----------------------
  ------------------
  --------------
    ------- -------------
    ---------- ---------
  ---
  -------------------- -
    -- ----- ----- ----
  ---

其中,

  • metalsmith-markdown 是一个可以将 Markdown 文件转换为 HTML 文件的 Metalsmith 插件。
  • metalsmith-layouts 是一个可以根据指定布局模板生成 HTML 页面的 Metalsmith 插件。
  • metalsmith-permalinks 是一个可以为文件设置永久链接的 Metalsmith 插件。

在上面的配置文件中,我们使用了 metalsmith-versioned-posts 插件,但并没有指定任何配置项,这表示采用了默认的配置。

完整的配置项如下:

其中,

  • pattern:需要版本化的文件的匹配规则,采用 minimatch 的语法,默认值是 **/*.md
  • limit:每篇文章的最大版本数,如果超过这个数会删除最早的版本,默认值是 5。
  • permalink:版本化文章的链接格式,其中 :title 表示文章标题,:version 表示版本,:ext 表示文章类型后缀,默认值是 /:title:version/index.html

使用

有了配置文件和插件,我们就可以使用 metalsmith-versioned-posts 了。

假设有一篇文章叫做 hello-world.md,我们想要对其进行版本化,可以创建一个叫做 hello-world.md.2 的新文件,在里面写下新的内容。当使用 metalsmith 编译网站时,会自动生成两个 HTML 文件,分别是 hello-world/1/index.htmlhello-world/2/index.html,分别对应文章的两个版本。

除了创建新文件,还可以通过在原始文件的 frontmatter 中添加 version 属性来指定某一篇文章的版本号,如下所示:

示例代码

以下是一个完整的示例代码,可以通过 npm run build 构建代码,并在 dist 目录下生成网站代码。

-- -------------------- ---- -------
----- ---------- - ----------------------
----- -------- - -------------------------------
----- ------- - ------------------------------
----- ---------- - ---------------------------------
----- -------------- - --------------------------------------

---------------------
  ----------------
  ------------
  ----------------------
  ----------------
  ---------------------
    -------- ----------
    ------ --
    ---------- ----------------------------
  ---
  ------------------
  --------------
    ------- -------------
    ---------- ---------
  ---
  -------------------- -
    -- ----- ----- ----
  ---

结论

metalsmith-versioned-posts 是一个非常有用的插件,可以帮助用户实现版本化的文章发布。通过这个插件,我们可以方便地查看历史版本的文章,也能够保持网站内容的更新与连贯。如有兴趣,不妨试试在自己的网站上使用该插件。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066f431d8e776d08040e41

纠错
反馈