npm 包 metalsmith-collection-scoping 使用教程

阅读时长 5 分钟读完

简介

metalsmith-collection-scoping 是一个基于 Metalsmith 框架的 npm 包,允许你对你的文章、博客等网页内容进行分开编译和分别管理。该包充分利用了 Metalsmith 的插件架构和模板化的工作流系统,是一款十分强大和易用的前端工具。

安装

使用

基本用法

使用前需要引入它并初始化(例如在 metalsmith-worker.js 文件中):

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

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

上面的代码中,我们使用 Metalsmith 的 collections 插件,将我们的文章和页面分别分类,在 scoping 插件中进行分别管理。

配置选项

我们还可以通过 scoping 插件的配置选项来实现更复杂和高度自定义的工作流程和规则。下面是一个例子:

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

上面的代码中,我们定义了两个不一样的集合(collections.postscollections.pages),并分别指定了分类规则。在这个例子中,我们将文章按照它们的发布日期进行分类,将页面按照它们的标题进行分类。

模板渲染

scoping 插件可以自动模板化你的集合,让你能够在模板中轻松的访问集合中的每篇文章或页面。以下是一个例子:

上面的代码中使用了一部分 Twig 代码渲染了一个基本的文章页面。在 for 循环中,我们遍历了 collections.posts 集合中的数据,并分别访问它们的标题和描述内容。在默认的配置中,scoping 插件会自动根据文件名(去掉扩展名之后的部分)向元数据中添加一个 title 属性,也就是说如果我们的文章文件名为 2019-01-01-hello-world.md,那么可以访问到它的标题。

在模板中,你也可以使用 collections.page 来访问你的页面集合。

资源文件的分类

scoping 插件不仅仅轻松处理文章和页面,它还可以处理其他任何的资源文件,例如图片或 css 文件。下面是一个例子:

上面的代码中,我们简单地使用了默认的配置将资源文件拆分为一个名为 collections.assets 的集合。在模板中,我们可以使用下面的 Twig 代码来处理这个集合:

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

上面的代码会为不同的文件种类设置不同的加载方式,例如 css 文件会被载入到 head 标签中,而 js 文件会被载入到 body 标签中等等。

结语

metalsmith-collection-scoping 是一款非常实用和易用的前端工具,可以使文章、页面和资源文件等相关内容更加容易管理和编译。它充分利用了 Metalsmith 的插件架构和模板化的工作流系统,为网站开发提供了最优质的解决方案。希望本篇文章能够帮助到你在使用和学习 metalsmith-collection-scoping 过程中遇到的问题,同时也能够掌握更多的前端技术知识。

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

纠错
反馈