Docusaurus多文档

我希望实现一个多文档的文档网站:

Docusaurus通过 plugin-content-docs插件 实现了这个功能

npx create-docusaurus@docusaurus/preset-classic docs.cloud-atlas.dev preset-classic

安装插件

  • (如果使用了 preset-classic 模版,也即是我在 Docusaurus快速起步 中执行安装模版 classic 内置模版和网站内容,则已经包含了 @docusaurus/plugin-content-docs 插件,这样就不需要执行这个插件安装步骤)执行以下命令安装 plugin-content-docs插件

安装 plugin-content-docs插件
npm install --save @docusaurus/plugin-content-docs

参考 Docusaurus Getting Started > Installation :

The classic template contains @docusaurus/preset-classic which includes standard documentation, a blog, custom pages, and a CSS framework (with dark mode support).

也就是说,其实在 Docusaurus快速起步 安装 classic 已经包含了 preset-classic

配置

  • 首先为各个手册创建目录,除了默认的 docs 目录,还可以创建 docs-api , docs-system 之类

  • 修改 docusaurus.config.js 文件,配置 default 文档

修订 docusaurus.config.js 添加多文档配置(启用 plugin-content-docs 插件)
...
 presets: [
    [
      //'classic',
      '@docusaurus/preset-classic',
      /** @type {import('@docusaurus/preset-classic').Options} */
      ({
        docs: {
          //path: 'docs',
          routeBasePath: 'arch',
          sidebarPath: './sidebars.js',
...
  ],
  plugins: [
    [
      '@docusaurus/plugin-content-docs',
      {
        id: 'discovery',
        path: 'discovery',
        routeBasePath: 'discovery',
        sidebarPath: './sidebars.js',
        // ... other options
      },
    ],
  ],

 themeConfig:
       items: [
          {
            type: 'docSidebar',
            sidebarId: 'tutorialSidebar',
            position: 'left',
            label: 'Architecture',
          },
          {
            to: '/discovery/intro',
            position: 'left',
            label: 'Discovery',
            activeBaseRegex: '/Discovery/',
          },
          {to: '/blog', label: 'Blog', position: 'left'},
...

备注

我的实践案例见 Docs Multi-instance修订

  • 然后创建一个 discovery 存放对应于 discovery 路由和标签的文件,这个代表第2本手册目录

说明

  • 默认的第一个文档目录就是 docs ,这个似乎不能修改(或者说修改无效),但是可以修订 navbar 标签以及路由(相当于url路径)

备注

我的实践配置见 multi docs, i18n (commit) (包含 Docusaurus国际化(i18n) )

参考