text: /**
   * Copyright (c) Facebook, Inc. and its affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */
  
  const path = require('path');
  const versions = require('./versions.json');
  
  // This probably only makes sense for the alpha phase, temporary
  function getNextAlphaVersionName() {
    const expectedPrefix = '2.0.0-alpha.';
  
    const lastReleasedVersion = versions[0];
    if (!lastReleasedVersion.includes(expectedPrefix)) {
      throw new Error(
        'this code is only meant to be used during the 2.0 alpha phase.',
      );
    }
    const alphaBuild = parseInt(
      lastReleasedVersion.replace(expectedPrefix, ''),
      10,
    );
    return `${expectedPrefix}${alphaBuild + 1}`;
  }
  
  const allDocHomesPaths = [
    '/docs/',
    '/docs/next/',
    ...versions.slice(1).map((version) => `/docs/${version}/`),
  ];
  
  const isDev = process.env.NODE_ENV === 'development';
  
  const isDeployPreview =
    process.env.NETLIFY && process.env.CONTEXT === 'deploy-preview';
  
  const baseUrl = process.env.BASE_URL || '/';
  const isBootstrapPreset = process.env.DOCUSAURUS_PRESET === 'bootstrap';
  
  const isVersioningDisabled = !!process.env.DISABLE_VERSIONING;
  
  module.exports = {
    title: 'Docusaurus',
    tagline: 'Build optimized websites quickly, focus on your content',
    organizationName: 'facebook',
    projectName: 'docusaurus',
    baseUrl,
    url: 'https://v2.docusaurus.io',
    onBrokenLinks: isVersioningDisabled ? 'warn' : 'throw',
    favicon: 'img/docusaurus.ico',
    customFields: {
      description:
        'An optimized site generator in React. Docusaurus helps you to move fast and write content. Build documentation websites, blogs, marketing pages, and more.',
    },
    themes: ['@docusaurus/theme-live-codeblock'],
    plugins: [
      [
        '@docusaurus/plugin-content-docs',
        {
          id: 'community',
          path: 'community',
          editUrl: 'https://github.com/facebook/docusaurus/edit/master/website/',
          routeBasePath: 'community',
          sidebarPath: require.resolve('./sidebarsCommunity.js'),
          showLastUpdateAuthor: true,
          showLastUpdateTime: true,
        },
      ],
      [
        '@docusaurus/plugin-content-blog',
        {
          id: 'second-blog',
          path: 'dogfooding/second-blog',
          routeBasePath: 'second-blog',
          editUrl:
            'https://github.com/facebook/docusaurus/edit/master/website/dogfooding',
          postsPerPage: 3,
          feedOptions: {
            type: 'all',
            copyright: `Copyright © ${new Date().getFullYear()} Facebook, Inc.`,
          },
        },
      ],
      [
        '@docusaurus/plugin-client-redirects',
        {
          fromExtensions: ['html'],
          createRedirects: function (path) {
            // redirect to /docs from /docs/introduction,
            // as introduction has been made the home doc
            if (allDocHomesPaths.includes(path)) {
              return [`${path}/introduction`];
            }
          },
          redirects: [
            {
              from: ['/docs/support', '/docs/next/support'],
              to: '/community/support',
            },
            {
              from: ['/docs/team', '/docs/next/team'],
              to: '/community/team',
            },
            {
              from: ['/docs/resources', '/docs/next/resources'],
              to: '/community/resources',
            },
          ],
        },
      ],
      [
        '@docusaurus/plugin-ideal-image',
        {
          quality: 70,
          max: 1030, // max resized image's size.
          min: 640, // min resized image's size. if original is lower, use that size.
          steps: 2, // the max number of images generated between min and max (inclusive)
        },
      ],
      [
        '@docusaurus/plugin-pwa',
        {
          debug: false,
          offlineModeActivationStrategies: ['appInstalled', 'queryString'],
          // swRegister: false,
          swCustom: path.resolve(__dirname, 'src/sw.js'),
          pwaHead: [
            {
              tagName: 'link',
              rel: 'icon',
              href: 'img/docusaurus.png',
            },
            {
              tagName: 'link',
              rel: 'manifest',
              href: 'manifest.json',
            },
            {
              tagName: 'meta',
              name: 'theme-color',
              content: 'rgb(37, 194, 160)',
            },
            {
              tagName: 'meta',
              name: 'apple-mobile-web-app-capable',
              content: 'yes',
            },
            {
              tagName: 'meta',
              name: 'apple-mobile-web-app-status-bar-style',
              content: '#000',
            },
            {
              tagName: 'link',
              rel: 'apple-touch-icon',
              href: 'img/docusaurus.png',
            },
            {
              tagName: 'link',
              rel: 'mask-icon',
              href: 'img/docusaurus.svg',
              color: 'rgb(62, 204, 94)',
            },
            {
              tagName: 'meta',
              name: 'msapplication-TileImage',
              content: 'img/docusaurus.png',
            },
            {
              tagName: 'meta',
              name: 'msapplication-TileColor',
              content: '#000',
            },
          ],
        },
      ],
    ],
    presets: [
      [
        isBootstrapPreset
          ? '@docusaurus/preset-bootstrap'
          : '@docusaurus/preset-classic',
        {
          debug: true, // force debug plugin usage
          docs: {
            // routeBasePath: '/',
            path: 'docs',
            sidebarPath: require.resolve('./sidebars.js'),
            editUrl:
              'https://github.com/facebook/docusaurus/edit/master/website/',
            showLastUpdateAuthor: true,
            showLastUpdateTime: true,
            remarkPlugins: [require('./src/plugins/remark-npm2yarn')],
            disableVersioning: isVersioningDisabled,
            lastVersion: 'current',
            onlyIncludeVersions:
              !isVersioningDisabled && (isDev || isDeployPreview)
                ? ['current', ...versions.slice(0, 2)]
                : undefined,
            versions: {
              current: {
                label: `${getNextAlphaVersionName()} (unreleased)`,
              },
            },
          },
          blog: {
            // routeBasePath: '/',
            path: '../website-1.x/blog',
            editUrl:
              'https://github.com/facebook/docusaurus/edit/master/website-1.x/',
            postsPerPage: 3,
            feedOptions: {
              type: 'all',
              copyright: `Copyright © ${new Date().getFullYear()} Facebook, Inc.`,
            },
          },
          pages: {
            remarkPlugins: [require('./src/plugins/remark-npm2yarn')],
          },
          theme: {
            customCss: [require.resolve('./src/css/custom.css')],
          },
        },
      ],
    ],
    themeConfig: {
      colorMode: {
        defaultMode: 'light',
        disableSwitch: false,
        respectPrefersColorScheme: true,
      },
      announcementBar: {
        id: 'supportus',
        content:
          '⭐️ If you like Docusaurus, give it a star on <a target="_blank" rel="noopener noreferrer" href="https://github.com/facebook/docusaurus">GitHub</a>! ⭐️',
      },
      prism: {
        theme: require('prism-react-renderer/themes/github'),
        darkTheme: require('prism-react-renderer/themes/dracula'),
      },
      image: 'img/docusaurus-soc.png',
      // metadatas: [{name: 'twitter:card', content: 'summary'}],
      gtag: {
        trackingID: 'UA-141789564-1',
      },
      algolia: {
        apiKey: '47ecd3b21be71c5822571b9f59e52544',
        indexName: 'docusaurus-2',
        searchParameters: {
          facetFilters: [`version:latest`],
        },
      },
      navbar: {
        hideOnScroll: true,
        title: 'Docusaurus',
        logo: {
          alt: 'Docusaurus Logo',
          src: 'img/docusaurus.svg',
          srcDark: 'img/docusaurus_keytar.svg',
        },
        items: [
          {
            type: 'docsVersionDropdown',
            position: 'left',
          },
          {to: 'blog', label: 'Blog', position: 'left'},
          {to: 'showcase', label: 'Showcase', position: 'left'},
          {
            to: '/community/support',
            label: 'Community',
            position: 'left',
            activeBaseRegex: `/community/`,
          },
          {
            to: '/versions',
            label: 'All versions',
            position: 'right',
          },
          {
            href: 'https://github.com/facebook/docusaurus',
            position: 'right',
            className: 'header-github-link',
            'aria-label': 'GitHub repository',
          },
        ],
      },
      footer: {
        style: 'dark',
        links: [
          {
            title: 'Learn',
            items: [
              {
                label: 'Introduction',
                to: 'docs',
              },
              {
                label: 'Installation',
                to: 'docs/installation',
              },
              {
                label: 'Migration from v1 to v2',
                to: 'docs/migrating-from-v1-to-v2',
              },
            ],
          },
          {
            title: 'Community',
            items: [
              {
                label: 'Stack Overflow',
                href: 'https://stackoverflow.com/questions/tagged/docusaurus',
              },
              {
                label: 'Feedback',
                to: 'feedback',
              },
              {
                label: 'Discord',
                href: 'https://discordapp.com/invite/docusaurus',
              },
              {
                label: 'Help',
                to: '/community/support',
              },
            ],
          },
          {
            title: 'More',
            items: [
              {
                label: 'Blog',
                to: 'blog',
              },
              {
                label: 'GitHub',
                href: 'https://github.com/facebook/docusaurus',
              },
              {
                label: 'Twitter',
                href: 'https://twitter.com/docusaurus',
              },
              {
                html: `
                  <a href="https://www.netlify.com" target="_blank" rel="noreferrer noopener" aria-label="Deploys by Netlify">
                    <img src="https://www.netlify.com/img/global/badges/netlify-color-accent.svg" alt="Deploys by Netlify" />
                  </a>
                `,
              },
            ],
          },
          {
            title: 'Legal',
            // Please do not remove the privacy and terms, it's a legal requirement.
            items: [
              {
                label: 'Privacy',
                href: 'https://opensource.facebook.com/legal/privacy/',
              },
              {
                label: 'Terms',
                href: 'https://opensource.facebook.com/legal/terms/',
              },
            ],
          },
        ],
        logo: {
          alt: 'Facebook Open Source Logo',
          src: 'img/oss_logo.png',
          href: 'https://opensource.facebook.com',
        },
        copyright: `Copyright © ${new Date().getFullYear()} Facebook, Inc. Built with Docusaurus.`,
      },
    },
  };
  