import { themes as prismThemes } from 'prism-react-renderer';
import type { Config } from '@docusaurus/types';
import type * as Preset from '@docusaurus/preset-classic';
const config: Config = {
title: 'ModernUO',
tagline: 'The Ultima Online server emulator for the modern era',
favicon: 'branding/favicon.png',
future: {
v4: true,
},
url: 'https://modernuo.com',
baseUrl: '/',
organizationName: 'modernuo',
projectName: 'ModernUO',
onBrokenLinks: 'throw',
i18n: {
defaultLocale: 'en',
locales: ['en'],
},
headTags: [
{
tagName: 'link',
attributes: {
rel: 'preconnect',
href: 'https://fonts.googleapis.com',
},
},
{
tagName: 'link',
attributes: {
rel: 'preconnect',
href: 'https://fonts.gstatic.com',
crossorigin: 'anonymous',
},
},
{
tagName: 'link',
attributes: {
rel: 'stylesheet',
href: 'https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap',
},
},
{
tagName: 'link',
attributes: {
rel: 'apple-touch-icon',
sizes: '180x180',
href: '/branding/apple-touch-icon.png',
},
},
{
tagName: 'link',
attributes: {
rel: 'icon',
type: 'image/png',
sizes: '32x32',
href: '/branding/favicon-32x32.png',
},
},
{
tagName: 'link',
attributes: {
rel: 'icon',
type: 'image/png',
sizes: '16x16',
href: '/branding/favicon-16x16.png',
},
},
{
tagName: 'meta',
attributes: {
name: 'msapplication-TileImage',
content: '/branding/mstile-144x144.png',
},
},
],
presets: [
[
'classic',
{
docs: {
path: 'content',
routeBasePath: 'docs',
sidebarPath: './sidebars.ts',
editUrl: 'https://github.com/modernuo/ModernUO/tree/main/website/',
},
blog: false,
theme: {
customCss: './src/css/custom.css',
},
} satisfies Preset.Options,
],
],
themeConfig: {
image: 'branding/android-chrome-512x512.png',
metadata: [
{ name: 'twitter:card', content: 'summary' },
{ name: 'twitter:site', content: '@modernuo' },
{ name: 'og:type', content: 'website' },
],
colorMode: {
defaultMode: 'dark',
disableSwitch: true,
respectPrefersColorScheme: false,
},
navbar: {
title: 'ModernUO',
logo: {
alt: 'ModernUO Logo',
src: 'branding/logo.svg',
},
items: [
{
type: 'docSidebar',
sidebarId: 'docsSidebar',
position: 'left',
label: 'Docs',
},
{
href: 'pathname:///commands.html',
label: 'Commands',
position: 'left',
className: 'navbar__link--internal',
},
{
href: 'pathname:///packets.html',
label: 'Packets',
position: 'left',
className: 'navbar__link--internal',
},
{
type: 'html',
position: 'right',
value: '',
},
{
type: 'html',
position: 'right',
value: '',
},
{
type: 'html',
position: 'right',
value: '',
},
],
},
footer: {},
prism: {
theme: prismThemes.github,
darkTheme: prismThemes.dracula,
additionalLanguages: ['csharp', 'bash', 'json', 'powershell'],
},
} satisfies Preset.ThemeConfig,
};
export default config;