import {themes as prismThemes} from 'prism-react-renderer'; import type {Config} from '@docusaurus/types'; import type * as Preset from '@docusaurus/preset-classic'; import remarkMath from 'remark-math'; import rehypeKatex from 'rehype-katex'; const config: Config = { title: 'The Old Speice Guy', tagline: '', favicon: 'img/favicon.ico', url: 'https://speice.io/', baseUrl: '/', // GitHub pages deployment config. // If you aren't using GitHub pages, you don't need these. organizationName: 'bspeice', projectName: 'speice.io', 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'], }, themes: ['@docusaurus/theme-live-codeblock'], presets: [ [ 'classic', { docs: false, blog: { routeBasePath: '/', blogSidebarTitle: 'All posts', blogSidebarCount: 'ALL', showReadingTime: true, showLastUpdateTime: true, feedOptions: { type: ['rss', 'atom'], xslt: true, }, // Useful options to enforce blogging best practices onInlineTags: 'warn', onInlineAuthors: 'warn', onUntruncatedBlogPosts: 'warn', remarkPlugins: [remarkMath], rehypePlugins: [rehypeKatex] }, theme: { customCss: ['./src/css/custom.css'] }, } satisfies Preset.Options, ], ], themeConfig: { navbar: { title: 'The Old Speice Guy', logo: { alt: 'Sierpinski Gasket', src: 'img/logo.svg', srcDark: 'img/logo-dark.svg' }, items: [ { href: 'https://github.com/bspeice', position: 'right', className: 'header-github-link' }, ], }, footer: { links: [], copyright: `Copyright © ${new Date().getFullYear()} Bradlee Speice`, }, prism: { theme: prismThemes.oneLight, darkTheme: prismThemes.oneDark, additionalLanguages: ['bash', 'java', 'julia', 'nasm'], magicComments: [ // Remember to extend the default highlight class name as well! { className: 'theme-code-block-highlighted-line', line: 'highlight-next-line', block: {start: 'highlight-start', end: 'highlight-end'}, }, { className: 'code-block-hidden', block: {start: 'hidden-start', end: 'hidden-end'} } ] }, } satisfies Preset.ThemeConfig, plugins: [require.resolve('docusaurus-lunr-search')], stylesheets: [ { href: 'https://cdn.jsdelivr.net/npm/katex@0.13.24/dist/katex.min.css', type: 'text/css', integrity: 'sha384-odtC+0UGzzFL/6PNoE8rX/SPcQDXBJ+uRepguP4QkPCm2LBxH3FA3y+fKSiJ+AmM', crossorigin: 'anonymous', }, ], future: { experimental_faster: true } }; export default config;