// @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';

/** @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 /<baseUrl>/ pathname under which your site is served
  // For GitHub pages deployment, it is often '/<projectName>/'
  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',

  // 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',
  ],

  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],
        },
        blog: {
          blogTitle: 'ふらっとブログ',
          blogDescription: '誰かの役に立ちそうなこと',
          postsPerPage: 'ALL',
          blogSidebarTitle: '全記事',
          blogSidebarCount: 'ALL',

          beforeDefaultRemarkPlugins: [admonitionTitleToHeadingBeforeTOC],
          rehypePlugins: [admonitionTitleToHeadingAfterTOC],
        },
        theme: {
          customCss: './src/css/custom.css',
        },
      }),
    ],
  ],
  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: 'GH3BU38Y7O',
        apiKey: 'aed5bb519d3a4c3627628d8ca285b1b7',
        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',
      },
    }),
};

export default config;