npm 包 nuxtdown 使用教程

阅读时长 5 分钟读完

简介

nuxtdown 是一个基于 Nuxt.js 的 Markdown 静态网站生成器,它可以把 Markdown 文件直接转换成静态网站,提供了丰富的自定义选项及插件系统,是一个非常好用的工具。

安装

你可以通过 npm 或者 yarn 安装 nuxtdown,这里以 npm 为例:

使用

示例

我们创建一个 Markdown 文件(如 about.md),并写入以下内容:

接下来,我们在 Nuxt.js 中使用 nuxtdown。

首先,在 nuxt.config.jsmodules 中添加 nuxtdown

然后,在 pages 目录下创建一个文件夹(如 about),并在其中创建一个 index.vue 文件,这个文件可以用于自定义页面布局。

接着,在 pages/about 目录下创建一个 _content 文件夹,用于存放 Markdown 文件,将我们之前创建的 about.md 文件放置于此目录下。

最后,在 pages/about/index.vue 文件中加入以下代码:

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

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

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

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

现在,你可以访问 http://localhost:3000/about 查看我们刚才创建的页面了。

API

getMarkdown

getMarkdown(filePath[, options]) 是一个异步函数,用于获取 Markdown 文件的内容。

参数
  • filePath (string):Markdown 文件相对于 contentDir 的路径。

  • options (object, 可选):自定义选项。

    • markdownIt (object, 可选):用于设置 Markdown 解析器。
    • toc (object, 可选):用于设置目录生成选项。
返回值

getMarkdown 函数会返回一个包含以下属性的 Promise 对象:

  • meta (object):Markdown 文件头部信息。
  • html (string):解析后的 HTML 字符串。
示例
-- -------------------- ---- -------
------ - ----------- - ---- -----------

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

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

getMarkdownList

getMarkdownList(dirPath[, options]) 是一个异步函数,用于获取某个目录下所有 Markdown 文件的信息。

参数
  • dirPath (string):目录相对于 contentDir 的路径。

  • options (object, 可选):自定义选项。

    • sortBy (string, 可选):用于设置排序方式 (ascdesc)。
    • pathPrefix (string, 可选):用于设置链接前缀。
返回值

getMarkdownList 函数会返回一个包含以下属性的 Promise 对象:

  • metaList (array):Markdown 文件头部信息。
  • linkList (array):Markdown 文件链接信息。
示例

结语

nuxtdown 是一个非常好用的 Markdown 静态网站生成器,可以帮助我们轻松地创建静态网站。如果你还没使用过它,不妨试一试。

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

纠错
反馈