Files
cqh963852andCopilot b487f44cd7 feat: 新增“实践经历”栏目,收录 alin.hu 的全栈入门指南
- 新增 practice docs 实例(路由 /practice)与 sidebarsPractice.ts
- docs/full_guide 迁移至 practice/alin.hu
- 导航栏新增“实践经历”入口
- 修复文档内指向旧 /docs/full_guide 路径的链接

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-19 14:48:16 +08:00

148 lines
4.2 KiB
TypeScript

import { themes as prismThemes } from "prism-react-renderer";
import type { Config } from "@docusaurus/types";
import type * as Preset from "@docusaurus/preset-classic";
// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...)
const config: Config = {
title: "stack idealjs",
tagline: "分享你的内容",
favicon: "img/favicon.ico",
// Future flags, see https://docusaurus.io/docs/api/docusaurus-config#future
future: {
v4: true, // Improve compatibility with the upcoming Docusaurus v4
},
// Set the production url of your site here
url: "https://stack.idealjs.com",
// Set the /<baseUrl>/ pathname under which your site is served
// For GitHub pages deployment, it is often '/<projectName>/'
baseUrl: "/",
// GitHub pages deployment config.
// If you aren't using GitHub pages, you don't need these.
organizationName: "idealjs", // Usually your GitHub org/user name.
projectName: "stack-idealjs", // Usually your repo name.
onBrokenLinks: "throw",
onBrokenMarkdownLinks: "warn",
// Even if you don't use internationalization, you can use this field to set
// useful metadata like html lang. For example, if your site is Chinese, you
// may want to replace "en" with "zh-Hans".
i18n: {
defaultLocale: "en",
locales: ["en"],
},
presets: [
[
"classic",
{
docs: {
sidebarPath: "./sidebars.ts",
// Please change this to your repo.
// Remove this to remove the "edit this page" links.
editUrl:
"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/",
},
blog: {
showReadingTime: true,
feedOptions: {
type: ["rss", "atom"],
xslt: true,
},
// Please change this to your repo.
// Remove this to remove the "edit this page" links.
editUrl:
"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/",
// Useful options to enforce blogging best practices
onInlineTags: "warn",
onInlineAuthors: "warn",
onUntruncatedBlogPosts: "warn",
},
theme: {
customCss: "./src/css/custom.css",
},
} satisfies Preset.Options,
],
],
plugins: [
[
"@docusaurus/plugin-content-docs",
{
id: "tools",
path: "tools",
routeBasePath: "tools",
sidebarPath: "./sidebarsTools.ts",
editUrl:
"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/",
},
],
[
"@docusaurus/plugin-content-docs",
{
id: "practice",
path: "practice",
routeBasePath: "practice",
sidebarPath: "./sidebarsPractice.ts",
editUrl:
"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/",
},
],
],
themeConfig: {
// Replace with your project's social card
image: "img/docusaurus-social-card.jpg",
navbar: {
title: "stack idealjs",
logo: {
alt: "My Site Logo",
src: "img/logo.svg",
},
items: [
{
type: "docSidebar",
sidebarId: "tutorialSidebar",
position: "left",
label: "全栈教程",
},
{
type: "docSidebar",
sidebarId: "toolsSidebar",
docsPluginId: "tools",
position: "left",
label: "工具使用",
},
{
type: "docSidebar",
sidebarId: "practiceSidebar",
docsPluginId: "practice",
position: "left",
label: "实践经历",
},
{ to: "/blog", label: "博客", position: "left" },
{
href: "https://github.com/idealjs/stack",
label: "GitHub",
position: "right",
},
],
},
footer: {
style: "dark",
links: [],
copyright: `Copyright © ${new Date().getFullYear()} idealjs.com. Built with Docusaurus.`,
},
prism: {
theme: prismThemes.github,
darkTheme: prismThemes.dracula,
},
} satisfies Preset.ThemeConfig,
};
export default config;