npm 包 @egst/metalsmith 使用教程

阅读时长 5 分钟读完

什么是 @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

纠错
反馈