mirror of
https://github.com/bspeice/speice.io
synced 2024-12-22 00:28:10 -05:00
112 lines
2.9 KiB
TypeScript
112 lines
2.9 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 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: '/katex/katex.min.css',
|
|
type: 'text/css',
|
|
},
|
|
],
|
|
future: {
|
|
experimental_faster: true
|
|
}
|
|
};
|
|
|
|
export default config;
|