83 lines
1.8 KiB
TypeScript
83 lines
1.8 KiB
TypeScript
import {themes as prismThemes} from 'prism-react-renderer';
|
|
import type {Config} from '@docusaurus/types';
|
|
import type * as Preset from '@docusaurus/preset-classic';
|
|
import navbar from './cfg/navbar.json';
|
|
import footer from './cfg/footer.json';
|
|
import main from './cfg/main.json';
|
|
|
|
const config: Config = {
|
|
title: main.title,
|
|
tagline: main.tagline,
|
|
favicon: main.favicon,
|
|
|
|
url: main.url,
|
|
baseUrl: main.baseUrl,
|
|
|
|
onBrokenLinks: 'throw',
|
|
onBrokenMarkdownLinks: 'warn',
|
|
|
|
i18n: {
|
|
defaultLocale: 'en',
|
|
locales: ['en'],
|
|
},
|
|
|
|
presets: [
|
|
[
|
|
'classic',
|
|
{
|
|
docs: {
|
|
sidebarPath: './sidebars.ts',
|
|
},
|
|
blog: {
|
|
showReadingTime: true,
|
|
feedOptions: {
|
|
type: ['rss', 'atom'],
|
|
xslt: true,
|
|
},
|
|
onInlineTags: 'warn',
|
|
onInlineAuthors: 'warn',
|
|
onUntruncatedBlogPosts: 'warn',
|
|
},
|
|
theme: {
|
|
customCss: './src/css/custom.css',
|
|
},
|
|
} satisfies Preset.Options,
|
|
],
|
|
],
|
|
|
|
markdown: {
|
|
mermaid: true,
|
|
},
|
|
themes: ['@docusaurus/theme-mermaid'],
|
|
|
|
scripts: [
|
|
{
|
|
src: '/js/crisp.js',
|
|
async: false,
|
|
},
|
|
],
|
|
|
|
themeConfig: {
|
|
colorMode: {
|
|
defaultMode: "dark",
|
|
disableSwitch: true,
|
|
respectPrefersColorScheme: false
|
|
},
|
|
image: main.image,
|
|
metadata: [
|
|
{ name: 'description', content: main.metadata.description },
|
|
{ property: 'og:image', content: main.metadata.image },
|
|
{ property: 'og:description', content: main.metadata.description },
|
|
{ property: 'og:title', content: main.metadata.title },
|
|
],
|
|
navbar: navbar,
|
|
footer: footer,
|
|
prism: {
|
|
theme: prismThemes.github,
|
|
darkTheme: prismThemes.dracula,
|
|
},
|
|
},
|
|
};
|
|
|
|
export default config;
|