npm 包 @egst/metalsmith 使用教程

什么是 @egst/metalsmith

@egst/metalsmith 是一个基于 Node.js 的静态网站生成器,可以将 Markdown 文件转化成 HTML 文件,并支持自定义的插件。它简单易用,可以快速搭建静态网站。

安装和使用

使用 @egst/metalsmith 前,需要先安装 Node.js 和 npm。安装完成后,在终端中输入以下命令来安装 @egst/metalsmith:

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

安装完成后,在终端中输入以下命令来创建一个基本的 @egst/metalsmith 项目:

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

这样就创建了一个名为 my-metalsmith 的项目,并在该项目中创建了一个 package.json 文件。

接下来,在终端中输入以下命令来安装必要的插件:

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

这样就安装了 metalsmith 和 metalsmith-markdown 两个必要的插件。

然后,在 my-metalsmith 项目中创建一个 src 目录,并在该目录中创建一个 index.md 文件,输入以下内容:

- ----- -----

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

接下来,在 my-metalsmith 项目中创建一个名为 build.js 的文件,输入以下内容:

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

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

这个 build.js 文件定义了 @egst/metalsmith 的构建过程,其中使用了 metalsmith 和 metalsmith-markdown 插件。使用以下命令来构建项目:

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

构建完成后,在 my-metalsmith 项目中会创建一个 dist 目录,其中包含 index.html 文件,打开该文件可以看到转换后的 HTML 内容:

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

至此,一个基本的 @egst/metalsmith 项目就创建完成了。

自定义插件

@egst/metalsmith 支持自定义插件,可以根据自己的需要增加一些额外的功能。以下是一个例子,演示如何在 Markdown 中添加目录。

首先,需要安装一个叫做 metalsmith-toc 的插件:

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

然后,在 my-metalsmith 项目中创建一个名为 toc.js 的文件,输入以下内容:

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

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

这个文件定义了一个叫做 toc 的插件,读取 Markdown 文件的内容,并使用 metalsmith-toc 插件生成目录,并将目录内容添加到文件的 toc 属性中。

接下来,在 my-metalsmith 项目中的 build.js 文件中增加以下代码:

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

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

这样就使用了自定义的 toc 插件。在 Markdown 文件中使用 [[toc]] 即可添加目录。例如:

- --

-------

-- ---

-- ---

这样就在 Markdown 中添加了目录,构建后的 HTML 中也会显示目录内容。

结语

@egst/metalsmith 是一个非常实用和方便的静态网站生成器,基于 Node.js,支持自定义插件,可以根据需求灵活添加功能。使用它可以非常快速地构建出一个静态网站。希望本文能够对读者有所帮助,欢迎大家留言交流!

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/600668e3d9381d61a3540a66


猜你喜欢

  • npm 包 @kinkajou/icons 使用教程

    前言 在开发前端应用过程中,我们经常用到各种图标。如果每次都去手动找图标,不仅费时费力,而且还无法保证图标的质量和风格的一致性。为此,我们可以通过使用第三方图标库来解决这个问题。

    3 年前
  • npm 包 @puge/clock 使用教程

    随着现代 Web 开发的不断发展,构建高质量的前端应用程序变得愈发重要。Web 应用程序常常需要在前端显示时间,这就是 @puge/clock 这个开源 npm 包应用的场景。

    3 年前
  • npm 包 ase-loader 使用教程

    在前端开发中,我们通常需要使用许多外部库以及工具来完成开发工作。npm 是一款非常流行的 JavaScript 包管理工具,它提供了很多有用的包,其中 ase-loader 是一个可以帮助我们加载 ....

    3 年前
  • npm 包 craft-maker 使用教程

    前言 在前端开发中,我们经常需要使用到工具包,而 npm 是一个非常好的工具包管理平台。npm 提供了很多优秀的工具包,其中一个值得注意的工具包是 craft-maker。

    3 年前
  • npm 包 draft-js-fixed 使用教程

    简介 draft-js-fixed 是一个为 draft-js 框架添加固定样式的 npm 包。draft-js 是一款不同于其他富文本编辑器的框架,它具有更高的灵活性和可定制性。

    3 年前
  • npm 包 toggl-invoice 使用教程

    随着互联网技术的快速发展,前端技术变得越来越重要。而随着前端技术的不断发展和进步,我们常常需要借助一些工具来提高我们的工作效率。本文介绍一个非常有用的 npm 包:toggl-invoice,它可以帮...

    3 年前
  • npm 包 node-unmsapi 使用教程

    介绍 node-unmsapi 是一个用于使用 UNMS API 的一个 Node.js 模块。UNMS是Ubiquiti Networks的一个通用网络管理系统,允许管理 Ubiquiti Netw...

    3 年前
  • npm 包 @borisp/materialui-pagination 使用教程

    介绍 在前端开发中,分页功能必不可少。 @borisp/materialui-pagination 是一个基于 MaterialUI 设计规范的分页组件,能够方便、美观的实现分页功能。

    3 年前
  • npm 包 @longjs/static 使用教程

    在前端开发中,使用静态资源是一个常见的需求。在过去,我们通常需要手动处理静态资源的压缩、合并、加版本号等问题。而在现今,使用 npm 包 @longjs/static 可以让我们轻松地完成这些任务。

    3 年前
  • npm 包 powerjinja-css 使用教程

    前言 在前端开发中,CSS 是必不可少的一部分。CSS 负责美化页面样式,使得页面具有更好的视觉效果和用户体验。然而,使用原始的 CSS 开发时,工作量很大,而且代码不易维护。

    3 年前
  • NPM 包 @loona/angular 使用教程

    前言 近年来,随着互联网的高速发展和web2.0时代的到来,越来越多的企业和机构开始将自己的业务线上化。同时,前端技术的繁荣也在加速推动了这股趋势。目前,前端技术的发展关乎到Web应用的性能、用户体验...

    3 年前
  • npm 包 @loona/core 使用教程

    介绍 @loona/core 是一个基于 GraphQL 的状态管理库,它提供了一种新的方式来管理应用程序的状态。它使用 GraphQL 查询语句作为状态的唯一来源,并使用 RxJS Observab...

    3 年前
  • npm 包 @loona/react 使用教程

    在前端开发中,使用第三方库和框架可以提高开发效率,其中 npm 是目前最流行的包管理工具之一。@loona/react 是一个专门为 React 框架开发的轻量化状态容器,它可以帮助我们轻松管理应用程...

    3 年前
  • npm 包 sleepy-sort 使用教程

    简介 在前端开发中,我们经常需要对数据进行排序,然而原生的排序方法需要手动实现,效率较低。因此,npm 上出现了许多非常方便的排序包。其中一款备受推崇的排序包就是 sleepy-sort。

    3 年前
  • npm 包 @kinkajou/linear-progress 使用教程

    在前端开发中,进度条是一种非常常见的界面元素。@kinkajou/linear-progress 是一个 npm 包,它为我们提供了在网页中创建线性进度条的功能。 安装 你可以通过 npm 或 yar...

    3 年前
  • npm包mockerito使用教程

    什么是mockerito? mockerito是一款前端开发中常用的模拟接口数据的npm包,通过模拟接口数据,我们可以在前端开发中避免由于后端接口未完成造成的开发停滞等问题。

    3 年前
  • npm 包 only-object 使用教程

    only-object 是一个专为 JavaScript 对象操作设计的 npm 包。它可以帮助开发者快速、方便地操作对象,只需通过一个函数就可以实现对象的选择、排除、合并等操作。

    3 年前
  • npm 包 powerjinja 使用教程

    在前端开发中,我们经常需要处理字符串模板,例如需要在字符串中插入变量,或者对字符串进行一些格式化操作。这时候,一个好用的模板引擎就显得尤为重要了。powerjinja 就是这样一个模板引擎,它基于 j...

    3 年前
  • npm 包 powerjinja-exponea-banner 使用教程

    在前端开发中,我们经常需要使用一些工具帮助我们更加高效地进行开发。其中,npm 包是最常见的工具之一。在这篇文章中,我们将深入介绍一个名为 powerjinja-exponea-banner 的 np...

    3 年前
  • `npm` 包 `@loona/schematics` 使用教程

    @loona/schematics 是一个 Angular 的项目脚手架,它可以大大提高 Angular 项目的开发效率和代码质量。本文将为大家介绍如何使用 @loona/schematics,包括安...

    3 年前

相关推荐

    暂无文章