doc-slot-core-manual/docusaurus.config.ts
2025-06-10 15:36:33 +07:00

122 lines
2.9 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: 'Slot Core Manual',
tagline: 'Official documentation for Slot Core',
favicon: 'img/Mercury-logo.ico',
// 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: 'Mercury', // Usually your GitHub org/user name.
projectName: 'doc-slot-core-manual', // 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'],
},
markdown: {
mermaid: true
},
presets: [
[
'classic',
{
docs: {
path: 'docs',
routeBasePath: 'docs',
sidebarPath: require.resolve('./sidebars.ts'),
},
blog: false,
theme: {
customCss: require.resolve('./src/css/custom.css'),
},
},
],
],
plugins: [
[
'@docusaurus/plugin-content-docs',
{
id: 'api-doc',
path: 'api-doc',
routeBasePath: 'api-doc',
sidebarPath: require.resolve('./sidebars.ts'),
},
],
[
require.resolve('docusaurus-lunr-search'),
{
languages: ['en'],
},
],
],
themes: [
// ...existing themes if any...
'@docusaurus/theme-mermaid'
],
themeConfig: {
// Replace with your project's social card
navbar: {
title: 'Slot Core Manual',
logo: {
alt: 'My Site Logo',
src: 'img/Mercury-logo.png',
},
items: [
{
to: '/docs/intro',
label: 'Manual',
position: 'left',
sidebarId: 'manualSidebar',
},
{
to: '/api-doc/intro',
label: 'API',
position: 'left',
sidebarId: 'apiSidebar',
},
{
type: 'search',
position: 'right',
},
{
href: 'https://gitea.plp19.com/dev-public/doc-slot-core-manual',
label: 'Gitea',
position: 'right',
},
],
},
footer: {
style: 'dark',
copyright: `Copyright © ${new Date().getFullYear()} Mercury Studio, Inc.`,
},
prism: {
theme: prismThemes.github,
darkTheme: prismThemes.dracula,
},
} satisfies Preset.ThemeConfig,
};
export default config;