nonebot2/website/sidebars.ts
2024-11-01 13:54:27 +08:00

157 lines
3.3 KiB
TypeScript

/**
* Creating a sidebar enables you to:
- create an ordered group of docs
- render a sidebar for each doc of that group
- provide next/previous navigation
The sidebars can be generated from the filesystem, or explicitly defined here.
Create as many sidebars as you want.
*/
import path from "path";
import type { SidebarsConfig } from "@docusaurus/plugin-content-docs";
import { getChangelogItemsSync } from "@nullbot/docusaurus-plugin-changelog";
const changelogPath = path.join(__dirname, "src/changelog/changelog.md");
const changelogItems = getChangelogItemsSync(changelogPath, 10);
const sidebars: SidebarsConfig = {
tutorial: [
{
type: "category",
label: "开始",
collapsible: false,
items: ["index", "quick-start", "editor-support"],
},
{
type: "category",
label: "指南",
items: [
{
type: "autogenerated",
dirName: "tutorial",
},
],
},
{
type: "category",
label: "深入",
items: [
{
type: "autogenerated",
dirName: "appendices",
},
],
},
{
type: "category",
label: "进阶",
items: [
{
type: "autogenerated",
dirName: "advanced",
},
],
},
{
type: "category",
label: "最佳实践",
items: [
{
type: "autogenerated",
dirName: "best-practice",
},
],
},
{
type: "category",
label: "开发者",
items: [
{
type: "autogenerated",
dirName: "developer",
},
],
},
],
api: [{ type: "autogenerated", dirName: "api" }],
ecosystem: [
{
type: "category",
label: "关于我们",
collapsible: false,
items: [
{
type: "autogenerated",
dirName: "community",
},
],
},
{
type: "category",
label: "开源之夏",
collapsible: true,
items: [
{
type: "autogenerated",
dirName: "ospp",
},
],
},
{
type: "category",
label: "社区资源",
collapsible: false,
items: [
{
type: "link",
label: "插件商店",
href: "/store/plugins",
},
{
type: "link",
label: "适配器商店",
href: "/store/adapters",
},
{
type: "link",
label: "驱动器商店",
href: "/store/drivers",
},
{
type: "link",
label: "机器人商店",
href: "/store/bots",
},
{
type: "link",
label: "Awesome NoneBot",
href: "https://awesome.nonebot.dev",
},
{
type: "link",
label: "论坛",
href: "https://discussions.nonebot.dev",
},
],
},
],
changelog: [
{
type: "category",
label: "更新日志",
collapsible: false,
items: changelogItems.map<{ type: "link"; label: string; href: string }>(
(chunk, index) => ({
type: "link",
label: chunk[0]!.title,
href: `/changelog/${index > 0 ? index.toString() : ""}`,
})
),
},
],
};
export default sidebars;