npm 包 esdoc-brand-plugin 使用教程

阅读时长 4 分钟读完

前言

随着前端开发越来越复杂,我们需要更好的代码组织和文档管理方式。ESDoc 是一个常用的 JavaScript 文档生成工具,它可以从代码中自动生成可读性高、易于理解的 API 文档。

ESDoc 默认主题简单实用,但是没有定制化的功能。本文将介绍如何使用 esdoc-brand-plugin 包制作定制化 ESDoc 主题,并探讨其深层次原理,以及如何使用这个包进行自定义主题制作。

安装与配置

安装 esdoc-brand-plugin 包:

在项目的 esdoc.json 配置文件中添加以下内容:

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

其中:

  • title: 文档网站的标题。
  • logo: 网站顶部的 logo 图片路径。
  • css: 自定义 CSS 文件路径。

深入研究

esdoc-brand-plugin 的实现原理是基于 ESDoc 插件机制,通过 Hook 钩子函数来拦截并改变默认主题模板的渲染结果。具体步骤如下:

  1. esdoc.json 中添加插件配置项。
  2. 在插件初始化阶段,通过 Hook 钩子函数获取默认主题模板路径和渲染参数。
  3. 通过修改渲染参数中的数据,实现对默认主题模板的改变。
  4. 生成自定义主题文档。

esdoc-brand-plugin 内部实现了以下钩子函数:

  • onHandleConfig: 插件初始化时触发,用于读取配置信息。
  • onComplete: 文档生成完成后触发,用于拷贝自定义 CSS 文件到生成目录。
  • onCompleteHTML: 生成 HTML 文件时触发,用于替换模板中的数据。

示例代码

假设我们有一个项目结构如下:

其中 index.js 文件内容如下:

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

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

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

我们要制作一个自定义主题,包含以下改变:

  • 修改网站标题为 "My Custom Docs"
  • 在网站顶部添加一个 Logo 图片
  • 替换默认 CSS 样式

首先安装 esdoc-brand-plugin 包:

修改 esdoc.json 配置文件如下:

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

在项目根目录下新建 logo.pngcustom.css 文件,分别存放 Logo 图片和自定义 CSS 样式。

运行 esdoc 命令生成文档:

打开生成的文档目

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

纠错
反馈