Files
workspace/code/docs/docusaurus.config.ts
T
2026-01-07 17:31:49 +08:00

169 lines
4.6 KiB
TypeScript

import type * as Preset from '@docusaurus/preset-classic'
import type { Config } from '@docusaurus/types'
import { themes as prismThemes } from 'prism-react-renderer'
// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...)
const config: Config = {
title: 'oneao',
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://your-docusaurus-site.example.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: 'facebook', // Usually your GitHub org/user name.
projectName: 'docusaurus', // Usually your repo name.
onBrokenLinks: 'throw',
// 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: 'zh-Hans',
locales: ['zh-Hans'],
},
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,
],
],
themeConfig: {
// Replace with your project's social card
image: 'img/docusaurus-social-card.jpg',
colorMode: {
respectPrefersColorScheme: false,
},
navbar: {
title: 'oneao',
logo: {
alt: 'oneao',
src: 'img/logo.png',
},
hideOnScroll: true,
items: [
{
type: 'dropdown',
label: '编程语言',
position: 'left',
items: [
{
type: 'docSidebar',
label: 'Java',
sidebarId: 'JavaSidebar',
},
{
type: 'docSidebar',
label: 'ReactNative',
sidebarId: 'ReactNativeSidebar',
},
],
},
{
type: 'dropdown',
label: '开发工具',
position: 'left',
items: [
{
type: 'docSidebar',
label: 'Docusaurus',
sidebarId: 'DocusaurusSidebar',
},
{
type: 'docSidebar',
label: 'Git',
sidebarId: 'GitSidebar',
},
],
},
{
to: '/blog',
label: '博客',
position: 'left',
},
{
type: 'localeDropdown',
position: 'right',
},
{
'aria-label': 'GitHub Repository',
'className': 'navbar--github-link',
'href': 'https://github.com/oneao',
'position': 'right',
'title': 'Github',
},
{
'aria-label': 'Gitee Repository',
'className': 'navbar--gitee-link',
'href': 'https://gitee.com/oneao',
'position': 'right',
'title': 'Gitee',
},
{
'aria-label': 'Email',
'className': 'navbar--email-link',
'href': 'mailto:hi_itao@163.com',
'position': 'right',
'title': 'Email',
},
],
},
prism: {
theme: prismThemes.github,
darkTheme: prismThemes.dracula,
},
docs: {
sidebar: {
hideable: true,
autoCollapseCategories: false,
},
},
algolia: {
appId: 'RYGTTZG9CJ',
apiKey: 'b64300feec6e0441a508d8560efc4a03',
indexName: 'docusaurus_docs',
},
} satisfies Preset.ThemeConfig,
}
export default config