npm 包 metalsmith-feed-js 使用教程

阅读时长 6 分钟读完

在前端开发中,我们经常需要将我们的博客或网站转换成 RSS、Atom 等格式的文档进行订阅和分享。metalsmith-feed-js 是一个用于生成这些文档的插件,它为我们提供了一种简便的方式来在 metalsmith 中添加 RSS 和 Atom 输出功能。本文将详细介绍如何使用 metalsmith-feed-js。

安装

在使用 metalsmith-feed-js 之前,你需要先安装 Node.jsmetalsmith。安装完之后,我们可以通过 npm 来安装 metalsmith-feed-js:

配置

接下来,我们需要在我们的 metalsmith 配置中引用 metalsmith-feed-js:

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

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

在这个示例中,我们使用了 collectionsite_urlfeed_url 这三个 feed 插件的选项参数。collection 表示我们要用哪个 collection 来生成 feed,site_url 表示我们的网站 url,feed_url 表示我们的 feed url。如果我们的网站是 https 的,记住要添加 Https。

集合

首先,我们需要在 metalsmith 的 collections 配置中提供一个 blog 集合:

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

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

这个配置会告诉 metalsmith 从 'content' 目录读取文件,并将文件构建到 'build' 目录。集合选项中,'pattern' 选项指定了我们要匹配的文件,这里匹配的是 'blog/**/*.md',因此我们需要在 'content' 目录下创建一个 'blog' 目录,并将我们的 markdown 文件保存在其中。

我们还指定了集合应如何排序。在这里,我们从传递的选项中使用 “date” 作为排序。

生成模板

我们需要创建一个模板来生成我们的 RSS 和 Atom feed。我们将创建两个模板,一个用于 RSS,另一个用于 Atom。

在我们的项目根目录下创建一个 'templates' 目录,在其中创建一个 'feed.xml' 文件:

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

我们做了几个事情:

  • 我们使用组件中的 site.title, site.url, feed.datefeed.items
  • 我们使用 handlebars 模板引擎语法。

为了生成 RSS,我们需要创建一个名为 ‘rss.xml’ 的文件。这个文件与 'feed.xml' 的区别可以在以下代码中看到:

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

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

使用

现在,我们已经完成了在 metalsmith 中添加 RSS 和 Atom 输出功能的所有步骤,我们可以使用以下命令来运行并构建我们的项目:

如果您设置了正确的配置和模板,您将会看到生成的两个文件:'rss.xml' 和 'atom.xml'。

以上就是使用 metalsmith-feed-js 的所有步骤。此外,通过更改模板和选项,您可以根据需要对其进行自定义。

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

纠错
反馈