// @ts-check // `@type` JSDoc annotations allow editor autocompletion and type checking // (when paired with `@ts-check`). // There are various equivalent ways to declare your Docusaurus config. // See: https://docusaurus.io/docs/api/docusaurus-config import { themes as prismThemes } from 'prism-react-renderer'; // This runs in Node.js - Don't use client-side code here (browser APIs, JSX...) /** @type {import('@docusaurus/types').Config} */ const config = { title: 'yevi.org', tagline: 'Yehor Vialov', favicon: 'img/logo_128.png', // Set the production url of your site here url: 'https://www.yevi.org', // Set the // pathname under which your site is served // For GitHub pages deployment, it is often '//' baseUrl: '/', // GitHub pages deployment config. // If you aren't using GitHub pages, you don't need these. organizationName: 'yevi.org', // Usually your GitHub org/user name. projectName: 'www.yevi.org', // Usually your repo name. 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'], }, scripts: [ { src: 'https://plausible.nicelycomposed.codes/js/script.outbound-links.js', defer: 'true', 'data-domain': 'yevi.org', }, ], presets: [ [ 'classic', /** @type {import('@docusaurus/preset-classic').Options} */ ({ docs: { sidebarPath: './sidebars.js', }, blog: { showReadingTime: true, feedOptions: { type: ['rss', 'atom'], xslt: true, }, blogSidebarTitle: 'Timeline', blogSidebarCount: 'ALL', // Useful options to enforce blogging best practices onInlineTags: 'warn', onInlineAuthors: 'warn', onUntruncatedBlogPosts: 'warn', }, theme: { customCss: './src/css/custom.css', }, }), ], ], themeConfig: /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ ({ colorMode: { defaultMode: 'light', disableSwitch: false, respectPrefersColorScheme: true, }, image: 'img/social-card.jpg', navbar: { title: 'yevi.org', logo: { alt: 'yevi.org logo', src: 'img/logo_128.png', srcDark: 'img/logo_dark.svg', }, items: [ { type: 'docSidebar', sidebarId: 'homelabSidebar', position: 'left', label: 'HomeLab', }, { to: '/blog', label: 'Blog', position: 'left' }, ], }, footer: { style: 'dark', links: [ { title: 'This site sections', items: [ { label: 'Homelab', to: '/docs/homelab', }, { label: 'Blog', to: '/blog', }, ], }, { title: 'My', items: [ { label: 'Code', href: 'https://git.nicelycomposed.codes/yehor', }, ], }, { title: 'Me on', items: [ { label: 'Mastodon', href: 'https://techhub.social/@estevez', }, { label: 'Pixelfed', href: 'https://pixelfed.social/estevez', }, { label: 'GitHub', href: 'https://github.com/estevez-dev', }, { label: 'Untappd', href: 'https://untappd.com/user/estevezz', }, { label: 'LinkedIn', href: 'https://www.linkedin.com/in/yehor-vialov-2a362158/', }, ], }, ], copyright: `Copyright © ${new Date().getFullYear()} Yehor Vialov.`, }, prism: { theme: prismThemes.github, darkTheme: prismThemes.dracula, }, }), }; export default config;