npm 包 typedoc-plugin-markdown 使用教程

阅读时长 10 分钟读完

在前端开发中,文档永远是一项不可或缺的工作。针对 TypeScript 项目,我们通常会使用 TypeDoc 来自动生成 API 文档。不过,官方提供的 HTML 格式有些不够灵活,如果想要将文档嵌入到项目的 README 中,或者发布到 GitHub Pages 中,那么我们就需要将文档转换成 Markdown 格式。而 typedoc-plugin-markdown 就是一个可以将 TypeDoc 生成的 JSON 数据转换成 Markdown 文件的 npm 包。

安装 typedoc-plugin-markdown

首先,我们需要在项目根目录下安装 typedoc-plugin-markdown:

其中,typedoc 是 TypeDoc 本身的依赖,我们一起安装。

配置 TypeScript

在开始使用 typedoc-plugin-markdown 之前,我们需要确保 TypeScript 项目正确地配置了类型声明、tsconfig.json、包名以及包的入口文件等信息。

配置 TypeDoc

在 TypeScript 的配置文件 tsconfig.json 中,我们需要增加以下配置:

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

这里的关键在于 declarationoutDir 两个配置项。我们需要将 declaration 设置为 true,以便 TypeDoc 正确读取 TypeScript 文件中的类型声明并生成 .d.ts 文件。而 outDir 表示生成的 .d.ts 文件的保存路径。上述设置中,我们将生成的文件保存到根目录下的 ./dist 目录。

配置 TypeDoc 插件

同时,我们需要在 tsconfig.json 中指定 TypeDoc 插件。我们增加 typedoc.json 配置文件,并在其中增加以下配置:

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

这里的关键在于 plugin 配置项,我们需要将该配置项设置成 typedoc-plugin-markdown,以启用该插件。同时,我们还需要配置 out 表示生成的文档保存路径。后面的 assets 是指生成的 Markdown 文件需要引用的资源文件,可以根据情况进行修改。theme 表示使用的主题,我们可以将其设置为 default

生成 API 文档

在完成 TypeScript 和 TypeDoc 的配置后,我们可以执行以下命令来生成 API 文档:

如果一切配置正确,那么我们就可以看到在 ./docs 目录下生成了一份 HTML 格式的文档。

将 HTML 转换为 Markdown

有了 HTML 文档还不够,我们还需要将其转换为 Markdown 格式。针对不同的情况,我们推荐两种方法进行转换。

方法一:使用转换工具

可以使用工具将 HTML 文档转换为 Markdown。推荐使用 Turndown,这是一个轻量的 JavaScript 库,适合在前端项目中使用。以下是使用 Turndown 的示例代码:

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

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

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

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

这里的关键在于 TurndownService()turndown() 两个方法,分别表示创建 Turndown 实例和将 HTML 转换为 Markdown。

不过,如果你想更加自由地定制文档内容,还是可以选择另一种方法。

方法二:使用 typedoc-plugin-markdown 自带的渲染器

tsconfig.json 配置文件中,我们可以增加 typedoc-plugin-markdown 的配置项:

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

其中,markdownPlugin 表示 typedoc-plugin-markdown 内置的 Markdown 渲染器的配置项,我们通过该配置项可以修改渲染器的输出格式。具体包括:

  • idPattern 表示 MarkDown 文件所在的文件夹,我们可以通过 $id 参数来引用对应的文档;
  • index 表示渲染器输出的索引文件;
  • readme 表示渲染器输出的 README 文件;
  • globalsTitle 表示全局 API 的标题;
  • moduleTitle 表示模块 API 的标题;
  • interfaceTitle 表示接口的标题;
  • classTitle 表示类的标题;
  • functionTitle 表示函数的标题;
  • variableTitle 表示变量的标题;
  • typeTitle 表示类型的标题;
  • enumTitle 表示枚举类型的标题;
  • templateTitle 表示模板类型的标题;
  • importTitle 表示导入的标题;
  • paramsTitle 表示参数的标题;
  • seeTitle 表示另请参阅的标题;
  • attributesTable 表示属性的表格标题;
  • parametersTable 表示参数表格的标题;
  • returnsTable 表示返回值表格的标题。

示例代码

针对上述介绍,我们提供完整的示例代码,供读者参考:

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

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

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

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

总结

以上就是使用 typedoc-plugin-markdown 的详细教程。在项目开发中,我们可以利用该插件帮助我们生成并管理 API 文档,从而提高开发效率和项目可维护性。

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

纠错
反馈