docusaurus.config.ts (351 lines of code) (raw):
import type * as Preset from "@docusaurus/preset-classic";
import type { Config } from "@docusaurus/types";
import { themes as prismThemes } from "prism-react-renderer";
const config: Config = {
title: "Apache Cloudberry (Incubating)",
tagline: "One advanced and mature open-source MPP (Massively Parallel Processing) database. Open source alternative to Greenplum Database.",
favicon: "/img/favicon.ico",
url: "https://cloudberry.apache.org",
baseUrl: "/",
organizationName: "apache", // Usually your GitHub org/user name.
projectName: "cloudberry-site", // Usually your repo name.
// onBrokenLinks: "throw",
onBrokenLinks: "ignore",
onBrokenMarkdownLinks: "warn",
plugins: [
"docusaurus-plugin-sass",
'docusaurus-plugin-matomo',
[
"@easyops-cn/docusaurus-search-local",
{ hashed: true, indexPages: true, language: ["en", "zh"] },
],
],
// 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: "en",
locales: ["en", "zh"],
},
presets: [
[
"classic",
{
pages: {
admonitions: true,
},
docs: {
sidebarPath: "./sidebars.ts",
editUrl:
"https://github.com/apache/cloudberry-site/edit/main/",
editLocalizedFiles: true,
showLastUpdateAuthor: true,
showLastUpdateTime: true,
breadcrumbs: true,
},
blog: {
postsPerPage: "ALL",
path: "blog", // Path to the existing blog folder
routeBasePath: "blog", // Route for the existing blog
include: ["*.md", "*.mdx"], // File types to include for the existing blog
feedOptions: {
type: "all",
title:
"Apache Cloudberry (Incubating) is one advanced and mature open-source MPP (Massively Parallel Processing) databases available.",
},
},
theme: {
customCss: [
"./src/css/custom.scss",
"./src/css/design-style.scss",
"./src/css/design-class.scss",
],
},
} satisfies Preset.Options,
],
],
themeConfig: {
title: "Apache Cloudberry (Incubating)",
tagline: "one advanced and mature open-source MPP (Massively Parallel Processing) databases available.",
favicon: "/img/favicon.ico",
url: "https://cloudberry.apache.org",
baseUrl: "/",
organizationName: "apache", // Usually your GitHub org/user name.
projectName: "cloudberry-site", // Usually your repo name.
colorMode: {
defaultMode: "dark",
disableSwitch: false,
respectPrefersColorScheme: true,
},
navbar: {
logo: {
href: "/",
alt: "Apache Cloudberry (Incubating)",
src: "/img/apache_cloudberry_color_black.svg",
srcDark: "/img/apache_cloudberry_color_white.svg",
},
items: [
{
type: "docSidebar",
sidebarId: "docsbars",
position: "right",
label: "Docs",
},
{
label: "Community",
position: "right",
items: [
{
label: "Overview",
to: "/community",
},
{
label: "Slack Guide",
to: "/community/slack",
},
{
label: "WeChat Guide",
to: "/community/wechat",
},
{
label: "Community Events",
to: "/community/events",
},
{
label: "Mailing Lists",
to: "/community/mailing-lists",
},
{
label: "Brand Guidelines",
to: "/community/brand",
},
{
label: "Security Policy",
to: "/community/security",
},
],
},
{
label: "Contribute",
position: "right",
items: [
{
label: "Overview",
to: "/contribute",
},
{
label: "How to Contribute",
to: "/contribute/how-to-contribute",
},
{
label: "Working with Git & GitHub",
to: "/contribute/git",
},
{
label: "Code Contribution Guide",
to: "/contribute/code",
},
{
label: "Proposal Guide",
to: "/contribute/proposal",
},
{
label: "Doc Contribution Guide",
to: "/contribute/doc",
},
],
},
{ to: "/blog", label: "Blog", position: "right" },
{
to: "/docs/releases",
label: "Download",
position: "right",
},
{
label: "Team",
position: "right",
items: [
{
label: "Who we are",
to: "/team",
},
{
label: "Inviting New Committers",
to: "/team/new-committers",
},
{
label: "Sign ICLA",
to: "/team/sign-icla",
},
{
label: "Setup the Apache account",
to: "/team/setup-apache-email-account",
},
],
},
{
label: "Resources",
position: "right",
items: [
{
label: "Wiki",
to: "https://github.com/apache/cloudberry/wiki",
},
{
label: "Roadmap",
to: "https://github.com/apache/cloudberry/discussions/868",
},
{
label: "Forum",
to: "https://github.com/apache/cloudberry/discussions",
},
{
label: "Bootcamp",
to: "/bootcamp",
},
{
label: "Support",
to: "/support",
},
],
},
{
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'
},
]
},
],
},
footer: {
logo: {
src: "/img/apache-incubator.svg",
srcDark: "/img/apache-incubator.svg",
href: "https://incubator.apache.org/",
alt: "Apache Incubator logo",
},
copyright: `
<p>
Apache Cloudberry 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.</p>
<p>
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>
`,
links: [
{
title: "Support",
items: [
{
label: "GitHub Issues",
href: "https://github.com/apache/cloudberry/issues",
},
{
label: "GitHub Discussions",
href: "https://github.com/apache/cloudberry/discussions",
},
{
label: "Slack",
href: "https://inviter.co/apache-cloudberry",
},
{
label: "Twitter",
href: "https://x.com/ASFCloudberry",
},
{
label: "Youtube",
href: "https://youtube.com/@ApacheCloudberry",
},
{
label: "Security",
to: "/community/security",
},
],
},
{
title: "Resources",
items: [
{
label: "Download",
href: "https://github.com/apache/cloudberry/releases",
},
{
label: "Documentation",
to: "/docs/",
},
{
label: "Events",
to: "/community/events",
},
{
label: "Brand Guidelines",
href: "/community/brand",
},
],
},
{
title: "Contribution",
items: [
{
label: "Working with Git & GitHub",
to: "contribute/git",
},
{
label: "Contribution Overview",
to: "/contribute/how-to-contribute",
},
{
label: "Code Contribution",
to: "contribute/code",
},
{
label: "Doc Contribution",
to: "contribute/doc",
},
],
},
],
},
prism: {
theme: prismThemes.nightOwl,
darkTheme: prismThemes.okaidia,
},
// Change website analytics from Google Analytics to Matomo
matomo: {
matomoUrl: 'https://analytics.apache.org/',
siteId: '66',
phpLoader: 'matomo.php',
jsLoader: 'matomo.js',
},
} satisfies Preset.ThemeConfig,
};
export default config;