Skip to content
Snippets Groups Projects
docusaurus.config.js 4.44 KiB
/** @type {import('@docusaurus/types').DocusaurusConfig} */
const gitBranch = process.env.GIT_BRANCH || 'main'

const baseUrl = process.env.DOCUSAURUS_BASE_URL || '/'

module.exports = {
  title: 'FIT-Connect',
  url: 'https://docs.fitko.de',
  baseUrl,
  onBrokenLinks: 'throw',
  onBrokenMarkdownLinks: 'throw',
  favicon: 'favicon.png',
  i18n: {
    defaultLocale: 'de',
    locales: ['de'],
  },
  themeConfig: {
    announcementBar: {
      id: 'under-construction',
      content:
        '🚧 Die Dokumentation ist aktuell noch in stetigem Wandel. Fragen, Probleme oder Feedback einfach an uns über diese <a target="_blank" href="mailto:servicedesk+fit-connect-planning-74-issue-@gitlab-incoming.fitko.net">E-Mail</a> senden.',
      backgroundColor: '#FFC819',
      textColor: '#000000',
      isCloseable: false,
    },
    colorMode: {
      disableSwitch: true,
    },
    prism: {
      additionalLanguages: ['java', 'csharp'],
    },
    navbar: {
      title: 'FIT-Connect',
      logo: {
        alt: 'FITKO',
        src: '/fitko-logo.svg',
      },
      items: [
        {to: '/docs/changelog', label: 'Dokumentation', position: 'left'},
        {
          type: 'dropdown',
          label: 'API-Specs',
          items: [
            {
              type: 'doc',
              label: 'Submission API',
              docId: 'apis/submission-api'
            },
            {
              type: 'doc',
              label: 'Routing API',
              docId: 'apis/routing-api'
            }
          ]
        },
        {
          type: 'dropdown',
          label: 'Schemata',
          items: [
            {
              type: 'doc',
              label: '🚧 Metadatenschema',
              docId: 'metadata/overview',
            },
            {
              type: 'doc',
              label: '🚧 Security Event Token',
              docId: 'set-schema/overview'
            }
          ]
        },
        /*
        {
          type: 'dropdown',
          label: 'Tools',
          items: [
            {
              type: 'doc',
              label: '🚧 JWK Generator',
              docId: 'tools/jwk-gen'
            }
          ]
        },
        */
        {to: '/contact', label: 'Kontakt / Hilfe'},
        {
          type: 'dropdown',
          position: 'right',
          label: 'Self-Service-Portal',
          items: [
            /*
            {
              label: 'Produktion',
              href: 'https://portal.auth-prod.fit-connect.fitko.net/'
            },
            {
              label: 'Referenz-Umgebung',
              href: 'https://portal.auth-refz.fit-connect.fitko.net/'
            },
             */
            {
              label: 'Testumgebung',
              href: 'https://portal.auth-testing.fit-connect.fitko.dev/'
            },
          ],
        }
      ],
    },
    footer: {
      style: 'light',
      copyright: `Copyright © ${new Date().getFullYear()} FITKO (Föderale IT-Kooperation) | Zum Gottschalkhof 3 | 60594 Frankfurt am Main | E-Mail: poststelle@fitko.de | https://www.fitko.de | Die FITKO ist eine Anstalt des öffentlichen Rechts. Sie wird vertreten durch die Präsidentin Frau Dr. Annette Schmidt.`,
    },
    hideableSidebar: true,
  },
  themes: [
    [
      '@docusaurus/theme-classic',
      {
        customCss: require.resolve('./src/css/style.scss'),
      },
    ],
  ],
  plugins: [
    'docusaurus-plugin-sass',
    'docusaurus-tailwindcss',
    '@docusaurus/plugin-sitemap',
    '@docusaurus/plugin-content-pages',
    '@docusaurus/plugin-client-redirects',
    require.resolve('./plugins/webpack'),
    /*
    [
      '@docusaurus/plugin-content-blog',
      {
        path: './news',
        routeBasePath: 'news',
        blogSidebarTitle: 'News',
        blogDescription: 'News bezüglich FIT-Connect von FITKO',
        blogTitle: 'News',
        showReadingTime: false,
        feedOptions: {
          type: 'all',
          language: 'de',
          copyright: `Copyright © ${new Date().getFullYear()} FITKO`,
        }
      },
    ],
    */
    [
      '@docusaurus/plugin-content-docs',
      {
        sidebarPath: require.resolve('./sidebar.js'),
        editUrl: ({ version, versionDocsDirPath, docPath }) =>
          `https://git.fitko.de/-/ide/project/fit-connect/docs/edit/${gitBranch}/-/${versionDocsDirPath}/${docPath}`,
        routeBasePath: 'docs',
      },
    ],
    [
      'docusaurus-node-polyfills',
      {
        excludeAliases: [
          'console',
        ],
      },
    ],
  ],
}