Docusaurus多文档
我希望实现一个多文档的文档网站:
有不同的方面的文档,每个文档相当于一个手册,在一个实例中能够同时服务多个手册,类似于 Red Hat Documentation
我希望构建 docs.cloud-atlas.dev 网站的不同手册,例如:
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) )