文档多实例
The @docusaurus/plugin-content-docs
plugin can support multi-instance.
备注
This feature is only useful for versioned documentation. 我们推荐你先了解文档版本化,再阅读这一页。 If you just want multiple sidebars, you can do so within one plugin.
Use-cases
有时候,你想要用 Docusaurus 部署两套(或更多)完全不同的文档。
这些文档甚至可能有着不同的版本/发行周期。
Mobile SDKs documentation
如果你正为某个跨平台的移动设备 SDK 撰写文档,你可能会有以下两套文档:
- Android SDK documentation (
v1.0
,v1.1
) - iOS SDK documentation (
v1.0
,v2.0
)
这种情况下,你可以为每个平台的 SDK 文档使用独立的文档插件实例。
警告
如果每个插件实例的文档都非常庞大,你应该考虑创建两个 Docusaurus 站点。
假设有人编辑了 iOS 的文档,这时候真的有必要同时重新构建未修改的 Android 文档吗?
Versioned and unversioned doc
有时候,你需要为某些文档划分版本,而其他文档则更为「全局」,没有必要给它们划分版本。
我们在 Docusaurus 网站上就使用了这种模式:
- The /docs/* section is versioned
- The /community/* section is unversioned
Setup
假设你有两套文档:
- 产品:划分了版本的产品文档
- 社区:单一版本的社区文档
这种情况下,你应该在站点配置中把同一个插件使用两次。
警告
@docusaurus/preset-classic
already includes a docs plugin instance for you!
如果使用了预设:
docusaurus.config.js
export default {
presets: [
[
'@docusaurus/preset-classic',
{
docs: {
// id: 'product', // omitted => default instance
path: 'product',
routeBasePath: 'product',
sidebarPath: './sidebarsProduct.js',
// ... other options
},
},
],
],
plugins: [
[
'@docusaurus/plugin-content-docs',
{
id: 'community',
path: 'community',
routeBasePath: 'community',
sidebarPath: './sidebarsCommunity.js',
// ... other options
},
],
],
};
如果不使用预设:
docusaurus.config.js
export default {
plugins: [
[
'@docusaurus/plugin-content-docs',
{
// id: 'product', // omitted => default instance
path: 'product',
routeBasePath: 'product',
sidebarPath: './sidebarsProduct.js',
// ... other options
},
],
[
'@docusaurus/plugin-content-docs',
{
id: 'community',
path: 'community',
routeBasePath: 'community',
sidebarPath: './sidebarsCommunity.js',
// ... other options
},
],
],
};