speice.io/docusaurus.config.ts

115 lines
3.1 KiB
TypeScript
Raw Normal View History

2024-09-30 21:01:59 -04:00
import {themes as prismThemes} from 'prism-react-renderer';
import type {Config} from '@docusaurus/types';
import type * as Preset from '@docusaurus/preset-classic';
2024-10-13 20:48:31 -04:00
import remarkMath from 'remark-math';
import rehypeKatex from 'rehype-katex';
2024-09-30 21:01:59 -04:00
const config: Config = {
2024-10-13 16:20:36 -04:00
title: 'The Old Speice Guy',
tagline: '',
2024-09-30 21:01:59 -04:00
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.
2024-10-13 16:20:36 -04:00
organizationName: 'bspeice',
projectName: 'speice.io',
2024-09-30 21:01:59 -04:00
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'],
2024-09-30 21:01:59 -04:00
presets: [
[
'classic',
{
docs: false,
blog: {
routeBasePath: '/',
2024-10-13 20:53:32 -04:00
blogSidebarTitle: 'All posts',
blogSidebarCount: 'ALL',
2024-09-30 21:01:59 -04:00
showReadingTime: true,
2024-10-13 20:48:31 -04:00
showLastUpdateTime: true,
2024-09-30 21:01:59 -04:00
feedOptions: {
type: ['rss', 'atom'],
xslt: true,
},
// Useful options to enforce blogging best practices
onInlineTags: 'warn',
onInlineAuthors: 'warn',
onUntruncatedBlogPosts: 'warn',
2024-10-13 20:48:31 -04:00
remarkPlugins: [remarkMath],
rehypePlugins: [rehypeKatex]
2024-09-30 21:01:59 -04:00
},
2024-10-13 16:42:07 -04:00
theme: {
customCss: ['./src/css/custom.css']
2024-10-13 20:48:31 -04:00
},
2024-09-30 21:01:59 -04:00
} satisfies Preset.Options,
],
],
themeConfig: {
navbar: {
2024-10-13 16:20:36 -04:00
title: 'The Old Speice Guy',
2024-09-30 21:01:59 -04:00
logo: {
2024-10-13 16:20:36 -04:00
alt: 'Sierpinski Gasket',
2024-09-30 21:01:59 -04:00
src: 'img/logo.svg',
2024-10-13 16:20:36 -04:00
srcDark: 'img/logo-dark.svg'
2024-09-30 21:01:59 -04:00
},
items: [
{
2024-10-13 16:20:36 -04:00
href: 'https://github.com/bspeice',
2024-09-30 21:01:59 -04:00
position: 'right',
2024-10-13 17:54:54 -04:00
className: 'header-github-link'
2024-09-30 21:01:59 -04:00
},
],
},
footer: {
2024-10-13 17:54:54 -04:00
links: [],
2024-10-13 16:20:36 -04:00
copyright: `Copyright © ${new Date().getFullYear()} Bradlee Speice`,
2024-09-30 21:01:59 -04:00
},
prism: {
2024-09-30 22:17:41 -04:00
theme: prismThemes.oneLight,
darkTheme: prismThemes.oneDark,
2024-11-19 21:42:03 -05:00
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'}
}
]
2024-09-30 21:01:59 -04:00
},
} satisfies Preset.ThemeConfig,
2024-10-13 20:48:31 -04:00
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',
},
2024-11-06 21:13:28 -05:00
],
future: {
2024-11-10 16:42:03 -05:00
experimental_faster: true
2024-11-06 21:13:28 -05:00
}
2024-09-30 21:01:59 -04:00
};
export default config;