/* * Copyright (c) Facebook, Inc. and its affiliates. * Copyright (c) 2023 Kristóf Marussy * * SPDX-License-Identifier: MIT */ import type { PluginOptions as ClassicThemeOptions } from '@docusaurus/theme-classic'; import type { Config } from '@docusaurus/types'; import { Config as SwcConfig } from '@swc/core'; export default { title: 'Kristóf Marussy', url: 'https://marussy.com', baseUrl: '/', plugins: [ '@docusaurus/plugin-content-pages', '@docusaurus/plugin-sitemap', './src/plugins/swcMinifyPlugin.ts', ], themes: [ [ '@docusaurus/theme-classic', { customCss: [require.resolve('./src/css/custom.css')], } satisfies ClassicThemeOptions, ], ], onBrokenLinks: 'warn', themeConfig: { colorMode: { respectPrefersColorScheme: true, }, navbar: { title: 'Kristóf Marussy', hideOnScroll: true, items: [ { label: 'About', to: '/', }, { label: 'CV', to: '/cv.pdf', }, ], }, footer: { links: [ { title: 'Pages', items: [ { label: 'About', to: '/', }, ], }, ], copyright: 'Built with Docusaurus.', }, }, webpack: { // Speed up builds by using a native Javascript loader. // See: https://github.com/facebook/docusaurus/issues/4765#issuecomment-841135926 // But we follow the Docusaurus upstear from // https://github.com/facebook/docusaurus/blob/791da2e4a1a53aa6309887059e3f112fcb35bec4/website/docusaurus.config.ts#L152-L171 // and use swc instead of esbuild. jsLoader: (isServer) => ({ loader: require.resolve('swc-loader'), options: { jsc: { parser: { syntax: 'typescript', tsx: true, }, transform: { react: { runtime: 'automatic', }, }, target: 'es2017', }, module: { type: isServer ? 'commonjs' : 'es6', }, } satisfies SwcConfig, }), }, } satisfies Config;