docusaurus.config.ts (248 lines of code) (raw):

import {themes as prismThemes} from 'prism-react-renderer'; import type {Config} from '@docusaurus/types'; import type * as Preset from '@docusaurus/preset-classic'; const config: Config = { title: 'Apache Fury (incubating)', tagline: 'A blazing-fast cross-language serialization framework powered by just-in-time compilation and zero-copy', favicon: 'img/favicon.ico', // Set the production url of your site here url: 'https://fury.apache.org/', // Set the /<baseUrl>/ pathname under which your site is served // For GitHub pages deployment, it is often '/<projectName>/' baseUrl: '/', onBrokenLinks: 'throw', onBrokenMarkdownLinks: 'warn', i18n: { defaultLocale: 'en-US', locales: ['en-US', 'zh-CN'], path: 'i18n', localeConfigs: { 'en-US': { path: "en-US", label: 'English', htmlLang: 'en-US', }, 'zh-CN': { path: "zh-CN", label: '简体中文', htmlLang: 'zh-CN', }, }, }, presets: [ [ 'classic', { docs: { sidebarPath: './sidebars.ts', editUrl: ({locale, version, docPath }) => { var editUrl = ""; if (locale === "en-US") { editUrl = `https://github.com/apache/fury-site/tree/main/docs/${docPath}`; } else if (locale === "zh-CN") { version = version === "current" ? "current" : "version-" + version editUrl = `https://github.com/apache/fury-site/tree/main/i18n/${locale}/docusaurus-plugin-content-docs/${version}/${docPath}`; } else { editUrl = `https://github.com/apache/fury-site/tree/main` } return editUrl; }, }, blog: { blogSidebarCount: 'ALL', blogSidebarTitle: 'All our posts', showReadingTime: true, editUrl: ({ blogPath, locale }) => { var editUrl = ""; if (locale === "en-US") { editUrl = `https://github.com/apache/fury-site/tree/main/blog/${blogPath}`; } else if (locale === "zh-CN") { editUrl = `https://github.com/apache/fury-site/tree/main/i18n/${locale}/docusaurus-plugin-content-blog/${blogPath}`; } else { editUrl = `https://github.com/apache/fury-site/tree/main` } return editUrl; }, }, theme: { customCss: './src/css/custom.css', }, } satisfies Preset.Options, ], ], plugins: [ require.resolve('docusaurus-lunr-search') ], themeConfig: { metadata: [ {'http-equiv': 'Content-Security-Policy', content: "frame-src 'self' https://ghbtns.com"}, ], navbar: { title: '', logo: { alt: 'Fury Logo', src: 'img/navbar-logo.svg', }, items: [ // { // type: 'docSidebar', // sidebarId: 'tutorialSidebar', // position: 'left', // label: 'Tutorial', // }, { type: 'docSidebar', sidebarId: 'startSidebar', position: 'right', label: 'Start', }, { type: 'docSidebar', sidebarId: 'introductionSidebar', position: 'right', label: 'Introduction', }, { type: 'docSidebar', sidebarId: 'guideSidebar', position: 'right', label: 'Guide', }, { type: 'docSidebar', sidebarId: 'specificationSidebar', position: 'right', label: 'Specification', }, { type: 'docSidebar', sidebarId: 'communitySidebar', position: 'right', label: 'Community', }, { to: '/user', label: 'Users', position: "right", }, { position: 'right', to: '/download', label: 'Download', }, {to: '/blog', label: 'Blog', position: 'right'}, { type: 'dropdown', label: 'ASF', position: 'right', items: [ { label: 'Foundation', to: 'https://www.apache.org/' }, { label: 'License', to: 'https://www.apache.org/licenses/' }, { label: 'Events', to: 'https://www.apache.org/events/current-event.html' }, { label: 'Privacy', to: 'https://privacy.apache.org/policies/privacy-policy-public.html' }, { label: 'Security', to: 'https://www.apache.org/security/' }, { label: 'Sponsorship', to: 'https://www.apache.org/foundation/sponsorship.html' }, { label: 'Thanks', to: 'https://www.apache.org/foundation/thanks.html' }, { label: 'Code of Conduct', to: 'https://www.apache.org/foundation/policies/conduct.html' } ] }, { href: 'https://github.com/apache/fury', position: 'right', className: 'header-github-link', 'aria-label': 'GitHub repository', }, { type: 'localeDropdown', position: 'right', }, ], }, footer: { style: 'dark', links: [ { title: 'Community', items: [ { label: 'Mailing list', href: 'https://lists.apache.org/list.html?dev@fury.apache.org', }, { label: 'Slack', href: 'https://join.slack.com/t/fury-project/shared_invite/zt-1u8soj4qc-ieYEu7ciHOqA2mo47llS8A', }, { label: 'Twitter', href: 'https://twitter.com/ApacheFury', }, ], }, { title: 'Docs', items: [ { label: 'Install', to: '/docs/start/install', }, { label: 'Usage', to: '/docs/start/usage', }, { label: 'Benchmark', to: '/docs/introduction/benchmark', }, ], }, { title: 'Repositories', items: [ { label: 'Fury', href: 'https://github.com/apache/fury', }, { label: 'Website', href: 'https://github.com/apache/fury-site', }, ], }, ], logo: { width: 200, src: "/img/apache-incubator.svg", href: "https://incubator.apache.org/", alt: "Apache Incubator logo" }, copyright: `<div> <p> Apache Fury is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF. </p> <p> Copyright © ${new Date().getFullYear()} The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br/> Apache, the names of Apache projects, and the feather logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. </p> </div>`, }, prism: { theme: prismThemes.github, darkTheme: prismThemes.dracula, additionalLanguages: ["java", "javascript", "rust", "cpp", "c", "bash", "scala", "python"] }, } satisfies Preset.ThemeConfig, }; export default config;