docusaurus/website/docusaurus.config.js

263 lines
7.5 KiB
JavaScript

/**
* 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 versions = require('./versions.json');
module.exports = {
title: 'Docusaurus',
tagline: 'Build optimized websites quickly, focus on your content',
organizationName: 'facebook',
projectName: 'docusaurus',
baseUrl: '/',
url: 'https://v2.docusaurus.io',
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-client-redirects',
{
fromExtensions: ['html'],
redirects: [
{
to: '/',
from: [
'/plugin-client-redirects-tests/toHome1',
'/plugin-client-redirects-tests/toHome2',
],
},
{
to: '/docs',
from: '/plugin-client-redirects-tests/toDocs1',
},
{
to: '/docs',
from: '/plugin-client-redirects-tests/toDocs2',
},
{
to: '/docs',
from: '/plugin-client-redirects-tests/toHomeDuplicatePath',
},
],
createRedirects: function (existingPath) {
if (existingPath === '/') {
return [
'/',
'/docs',
'/plugin-client-redirects-tests/toHome3',
'/plugin-client-redirects-tests/toHome4',
'/plugin-client-redirects-tests/toHomeDuplicatePath',
];
}
},
},
],
[
'@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)
},
],
],
presets: [
[
'@docusaurus/preset-classic',
{
docs: {
homePageId: 'introduction',
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')],
},
blog: {
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.`,
},
},
theme: {
customCss: require.resolve('./src/css/custom.css'),
},
},
],
],
themeConfig: {
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',
gtag: {
trackingID: 'UA-141789564-1',
},
algolia: {
apiKey: '47ecd3b21be71c5822571b9f59e52544',
indexName: 'docusaurus-2',
algoliaOptions: {
facetFilters: [`version:${versions[0]}`],
},
},
navbar: {
hideOnScroll: true,
title: 'Docusaurus',
logo: {
alt: 'Docusaurus Logo',
src: 'img/docusaurus.svg',
srcDark: 'img/docusaurus_keytar.svg',
},
links: [
{
label: 'Docs',
to: 'docs/introduction', // "fake" link
position: 'left',
activeBaseRegex: `docs/(?!next/(support|team|resources))`,
items: [
{
label: versions[0],
to: 'docs/',
activeBaseRegex: `docs/(?!${versions.join('|')}|next)`,
},
...versions.slice(1).map((version) => ({
label: version,
to: `docs/${version}/`,
})),
{
label: 'Master/Unreleased',
to: 'docs/next/',
activeBaseRegex: `docs/next/(?!support|team|resources)`,
},
],
},
{to: 'blog', label: 'Blog', position: 'left'},
{to: 'showcase', label: 'Showcase', position: 'left'},
{
to: 'docs/next/support',
label: 'Community',
position: 'left',
activeBaseRegex: `docs/next/(support|team|resources)`,
},
{
to: 'versions',
label: `v${versions[0]}`,
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/introduction',
},
{
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: 'docs/next/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.`,
},
},
};