// @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'; import admonitionTitleToHeadingBeforeTOC from './src/remark/admonition-title-to-heading-before-toc.js'; import admonitionTitleToHeadingAfterTOC from './src/rehype/admonition-title-to-heading-after-toc.js'; // sidebarItemsGenerator用 function skipIndex(items) { return items.filter(({ type, id }) => { return type !== 'doc' || id !== 'ippan-situmon/index'; }); } /** @type {import('@docusaurus/types').Config} */ const config = { title: '東京都小平市議・安竹洋平のまとめ', tagline: '一般質問や議会での活動、いじめ、発達関連の情報をまとめています。', favicon: 'img/favicon.ico', // Set the production url of your site here url: 'https://yasutakeyohei.com', // Set the // pathname under which your site is served // For GitHub pages deployment, it is often '//' baseUrl: '/docs', // GitHub pages deployment config. // If you aren't using GitHub pages, you don't need these. organizationName: 'yasutakeyohei', // Usually your GitHub org/user name. projectName: 'docusaurus', // Usually your repo name. onBrokenLinks: 'throw', onBrokenMarkdownLinks: 'warn', //アドレス末尾に/を入れないとgoogle search consoleでsitemapの読み込み時に「リダイレクトがあるのでインデックス出来ない」と出てくる trailingSlash: true, // 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: 'ja', locales: ['ja'], }, themes: [ '@docusaurus/theme-mermaid', ], plugins: [ 'docusaurus-plugin-image-zoom', ], markdown: { mermaid: true, }, presets: [ [ 'classic', /** @type {import('@docusaurus/preset-classic').Options} */ ({ docs: { routeBasePath: '/', sidebarPath: './sidebars.js', // Please change this to your repo. // Remove this to remove the "edit this page" links. //editUrl: // 'https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/', beforeDefaultRemarkPlugins: [admonitionTitleToHeadingBeforeTOC], rehypePlugins: [admonitionTitleToHeadingAfterTOC], showLastUpdateTime: true, /* autogeneratedとすると、indexも含まれてしまう。docusaurus以降のバージョンでは省けるようになるかもしれないが、 https://github.com/facebook/docusaurus/issues/6127 今のところは回避策としてsidebarItemsGeneratorを使ってdocディレクトリ下のindexをページで省くようにする https://stackoverflow.com/a/75046777 */ async sidebarItemsGenerator({ defaultSidebarItemsGenerator, ...args }) { const sidebarItems = await defaultSidebarItemsGenerator(args); return skipIndex(sidebarItems); } }, blog: { blogTitle: 'ふらっとブログ', blogDescription: '誰かの役に立ちそうなこと', postsPerPage: 'ALL', blogSidebarTitle: '全記事', blogSidebarCount: 'ALL', beforeDefaultRemarkPlugins: [admonitionTitleToHeadingBeforeTOC], rehypePlugins: [admonitionTitleToHeadingAfterTOC], }, theme: { customCss: './src/css/custom.css', }, gtag: { trackingID: 'G-G-BW8GDNFVG1', anonymizeIP: true, }, }), ], ], themeConfig: /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ ({ tableOfContents: { minHeadingLevel: 2, maxHeadingLevel: 6, }, // Replace with your project's social card image: 'img/docusaurus-social-card.jpg', navbar: { title: '小平市議・安竹洋平のまとめ', logo: { alt: 'My Site Logo', src: 'img/logo.svg', }, items: [ { type: 'docSidebar', sidebarId: 'ippanSidebar', position: 'left', label: '一般質問', }, { type: 'docSidebar', sidebarId: 'giantouSidebar', position: 'left', label: '議案等', }, { type: 'docSidebar', sidebarId: 'dyslexiaSidebar', position: 'left', label: '発達関連', }, { to: 'tags', position: 'left', label: 'タグ分類', }, { to: 'blog', position: 'left', label: 'ふらっとブログ', }, { href: 'https://cgit.yasutakeyohei.com/', label: 'CGit', position: 'right', }, ], }, footer: { style: 'dark', links: [ { title: 'まとめ', items: [ { label: '一般質問', to: '/ippan-situmon', }, { label: '議案等', to: '/gian-tou', }, { label: '発達関連', to: '/hattatu', }, { label: '🏷️タグ分類', to: 'tags', }, { label: '🔎検索', to: 'search', }, ], }, { title: 'コミュニティ', items: [ { label: 'X(旧Twitter)', href: 'https://twitter.com/yasutakeyohei', }, ], }, { title: 'More', items: [ { label: '安竹洋平オフィシャルサイト', to: 'https://yasutakeyohei.com/', target: '_self', }, { label: 'ふらっとブログ', to: 'https://yasutakeyohei.com/blog/', target: '_self', }, { label: 'Cgit(新)', to: 'https://cgit.yasutakeyohei.com/', target: '_self', }, { label: 'GitHub(旧)', href: 'https://github.com/yasutakeyohei', }, ], }, ], copyright: `Copyright © ${new Date().getFullYear()} 安竹洋平. Built with Docusaurus.`, }, prism: { theme: prismThemes.github, darkTheme: prismThemes.dracula, }, algolia: { appId: 'HP5PG4H98Q', apiKey: '683283fa20e075d865d350cc918b8dda', indexName: 'docusaurus', // Optional: see doc section below contextualSearch: true, // Optional: Algolia search parameters searchParameters: {}, // Optional: path for search page that enabled by default (`false` to disable it) searchPagePath: 'search', }, zoom: { selector: '.markdown img', background: { light: 'rgb(255, 255, 255)', dark: 'rgb(50, 50, 50)' }, config: { // options you can specify via https://github.com/francoischalifour/medium-zoom#usage } }, }), }; export default config;