.. _docusaurus_multi_docs: ========================= Docusaurus多文档 ========================= 我希望实现一个多文档的文档网站: - 有不同的方面的文档,每个文档相当于一个手册,在一个实例中能够同时服务多个手册,类似于 `Red Hat Documentation `_ - 我希望构建 `docs.cloud-atlas.dev `_ 网站的不同手册,例如: - `Cloud Atlas: Arch `_ - `Cloud Atlas: Discovery `_ - 不同分册 Docusaurus通过 `plugin-content-docs插件 `_ 实现了这个功能 :: npx create-docusaurus@docusaurus/preset-classic docs.cloud-atlas.dev preset-classic 安装插件 ========= - (如果使用了 ``preset-classic`` 模版,也即是我在 :ref:`docusaurus_startup` 中执行安装模版 ``classic`` 内置模版和网站内容,则已经包含了 ``@docusaurus/plugin-content-docs`` 插件,这样就不需要执行这个插件安装步骤)执行以下命令安装 `plugin-content-docs插件 `_ .. literalinclude:: docusaurus_multi_docs/install :caption: 安装 ``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). 也就是说,其实在 :ref:`docusaurus_startup` 安装 ``classic`` 已经包含了 ``preset-classic`` 配置 ======= - 首先为各个手册创建目录,除了默认的 ``docs`` 目录,还可以创建 ``docs-api`` , ``docs-system`` 之类 - 修改 ``docusaurus.config.js`` 文件,配置 ``default`` 文档 .. literalinclude:: docusaurus_multi_docs/docusaurus.config.js :caption: 修订 ``docusaurus.config.js`` 添加多文档配置(启用 ``plugin-content-docs`` 插件) :emphasize-lines: 4,5,9,10,14-25,33,35-40 .. note:: 我的实践案例见 `Docs Multi-instance修订 `_ - 然后创建一个 ``discovery`` 存放对应于 ``discovery`` 路由和标签的文件,这个代表第2本手册目录 说明 ------ - 默认的第一个文档目录就是 ``docs`` ,这个似乎不能修改(或者说修改无效),但是可以修订 ``navbar`` 标签以及路由(相当于url路径) .. note:: 我的实践配置见 `multi docs, i18n (commit) `_ (包含 :ref:`docusaurus_i18n` ) 参考 ===== - `Is there a way to have two docs in Docusaurus 2? `_ - `Multi-instance plugins and plugin IDs `_ - `Docs Multi-instance `_