在Docusaurus 2中有没有办法同时拥有两个文档?
据我所知,Docusaurus支持自定义页面,但有没有办法在一个Docusaurus项目中有两个文档?
原始导航栏项目有:
- 单据
- 博客
- ...
我想要这样的东西:
- 文档%1
- 文档2
- 博客
- ...
我知道我可以在一个文档中创建多个子文件夹,但出于某种原因,我希望使用两个文档的结构,这使我能够更清晰地访问文档。
如果Docusaurus当前无法提供此功能,我想问一下是否有其他文档框架提供此功能?
解决方案
您需要使用plugin-content-docs。
首先,创建另一个docs
文件夹,如docs
、docs-api
、docs-system
。
(1)在您的docusaurus.config.js
文件中,配置您的默认文档:
(module.exports = { // start of the module.export declaration
[…]
presets: [
[
'@docusaurus/preset-classic',
{
docs: {
routeBasePath: 'docs',
path: 'docs',
sidebarPath: require.resolve('./sidebars.js'),
lastVersion: 'current',
onlyIncludeVersions: ['current'],
},
theme: {
customCss: require.resolve('./src/css/custom.css'),
},
},
],
],
[…]
}); // end of the module-export declaration
(2)现在,神奇!:在同一文件中配置您的其他文档:
(module.exports = { // start of the module.export declaration
[…]
plugins: [
[…]
[
'@docusaurus/plugin-content-docs',
{
id: 'docs-api',
path: 'docs-api',
routeBasePath: 'docs-api',
sidebarPath: require.resolve('./sidebars.js'),
},
],
[
'@docusaurus/plugin-content-docs',
{
id: 'docs-system',
path: 'docs-system',
routeBasePath: 'docs-system',
sidebarPath: require.resolve('./sidebars.js'),
},
],
],
[…]
}); // end of the module-export declaration
(3)现在您可能希望这些文档位于您的导航栏中,对吗?那就加吧!
(module.exports = { // start of the module.export declaration
[…]
navbar: {
hideOnScroll: true,
title: 'your title',
logo: {
alt: '',
src: 'img/favicon.ico',
},
items: [
{
to: '/docs/Intro', // ./docs/Intro.md
label: 'Docs Title',
position: 'left',
activeBaseRegex: `/docs/`,
},
{
to: '/docs-api/Intro', // ./docs-api/Intro.md
label: 'API',
position: 'left',
activeBaseRegex: `/docs-api/`,
},
{
to: '/docs-system/Introducao', // ./docs-system/Intro.md
label: 'My System',
position: 'left',
activeBaseRegex: `/docs-system/`,
},
],
},
[…]
}); // end of the module-export declaration
重要信息
有时您会修改docusaurus.config.js
而无法工作,因此关闭Docusaurusservice
(只需在终端/POWER外壳中按Ctrl+C)并重新启动它--如果早知道这一点,我可以节省几个小时。
如果您没有plugin-content-docs插件,只需安装它:
NPM安装--save@docusaurus/plugin-content-docs
免责声明
我费了好大劲才弄明白这一点。我所做的是下载整个docusaurus项目,获取网站部分,修剪我不需要的一切,这就是我得到的。
相关文章