facebook / facebook/docusaurus
RFC: Doc sidebar version dropdown
- 主要语言
- TypeScript
- 星标
- 66.2k
- 派生
- 10k
- 平均合并
- 1 天 3 小时
- 30 天内合并 PR
- 52
描述
## 🚀 Feature
The navbar can get a bit crowded over time and it's a common doc pattern to use a sidebar version dropdown
The APISIX website already built this:
https://apisix.apache.org/docs/apisix/architecture-design/apisix


We could add some extra sidebar config to handle a version dropdown.
I don't have a strong opinion on the public API yet. Maybe it could be a theme config like `themeConfig.docSidebarVersionDropdown: true` ?
To me it does not make sense to:
- nest a version dropdown inside a sidebar category, so it can't be a sidebar item directly
- display 2+ versions dropdowns inside the same sidebar
But it could make sense to:
- display the dropdown at the bottom (sticky?) or the top (sticky?)
- have different config per-sidebar?
The current `sidebars.js` file is hard to modify to add some sidebar top-level sidebarr configs like booleans: we'd have to ensure backward compatibility but this is a possibility:
```js
const sidebars = {
mySidebar: {
versionDropdown: "top-sticky",
items: [...]
}
}
```
We could also add a type and allow it only as top-level item (simpler for retrocompatibility)?
```js
const sidebars = {
mySidebar: [{type: "versionDropdown"},...]
}
```
Note we want to enable custom navbar items and custom blog sidebar items, so maybe we also need to think about custom doc sidebar items too? I don't really have a use-case for this yet.
Just wanted to open the discussion around this feature's design.
贡献指南
评估
这个 Issue 还没有评估数据。