命令行

npx gem-book -h

配置文件

gem-book 命令会自动从当前工作目录查找配置文件 gem-book.cli.{js|json|mjs},支持大部分命令行选项(同时提供时合并命令行选项),例如:

{ "$schema": "./schema.json", "title": "GemBook", "icon": "../../logo.png", "i18n": true, "homeMode": true, "site": "https://book.gemjs.org", "sourceBranch": "docs", "plugin": ["raw", "docsearch", "api", "sandpack", "code-group", "import", "include", "var", "example"], "template": "docs/template.html", "ga": "G-PZYZ441YD3", "debug": true, "port": 8090, "global": { "hello": "Hello World!" } }

TIP

如果用 json 格式,可以添加 "$schema": "https://unpkg.com/gem-book/schema.json" 以获取类型提示, 如果使用 js 格式,可以使用 jsdoc 导入类型 import('gem-book/common/config').CliConfig

命令行选项

-t, --title <title>

指定文档标题,默认从 package.json 读取或者使用当前工作目录名。

-i, --icon <path>

指定图标路径,可以使用完整的 URL 或基于当前工作目录的相对路径。

-o, --output <path>

指定输出文件目录,默认是 dist;如果是 json 文件路径则只输出 json 文件。

--github <url>

指定 GitHub 地址,会渲染到导航栏中,默认会从 package.json 和本地 .git 目录中读取。

-b, --source-branch <branch>

指定文档的分支,最终生成前往 GitHub 的链接,默认使用 main

--base <dir>

指定当前工作目录在项目中的位置,默认会读取 package.jsonrepository.directory 字段,这在 Monorepo 项目中很有用, 假设你的项目结构是这样的:

project/ ├── packages │ ├── module │ │ ├── docs │ │ └── gem-book.cli.json # 可选 │ └── ... └── ...

则需要指定 --base

(cd packages/module && npx gem-book docs --base packages/module)

-d, --source-dir <dir>

指定文档目录在 GitHub 中的位置,最终生成前往 GitHub 的链接,默认使用当前命令指定目录, 只有当命令执行位置在子目录时才会用到。

--build

构建文档站。

--home-mode

以网站主页布局显示文档根目录下的 readme.md / index.md,完整设置

指定导航栏外部链接,例如:

npx gem-book docs \ --nav Example,https://example.com \ --nav MyWebsite,https://my.website

--ga <id>

添加 Google Analytics v4 支持。

--template <path>

指定 HTML 模版路径,可以在模版中执行额外的 JavaScript 或者插入一些元素。

--i18n

指定文档目录是否支持国际化

--ignored <string>

忽略文件,使用 anymatch 格式,默认 **/node_modules/**

--plugin <name or path>

加载插件,可添加多个。也可以使用 URL 或者相对路径提供自定义插件,支持 TypeScript 模块。

--theme <name or path>

使用内置主题或者自定义主题,支持有默认导出的模块。

自定义页脚,支持 Markdown 格式。

--display-rank

在 URL 中显示用于排序的值。

--site <url>

指定网址将生成 sitemap.xml,这有利于不支持 ShadowDOM 的爬虫收录网站。

--json

只输出 <gem-book> 使用的 json 渲染数据,默认输出 gem-book.json,使用 --output 自定义。

--config <path>

指定命令行工具配置文件。

--debug

输出调试信息:应用的命令行选项, stats.json, source-map