// @ts-check // `@type` JSDoc annotations allow editor autocompletion and type checking // (when paired with `@ts-check`). // There are various equivalent ways to declare your Docusaurus config. // See: https://docusaurus.io/docs/api/docusaurus-config import {themes as prismThemes} from 'prism-react-renderer'; import imgRendering from './src/rehype/img-rendering.js'; /** @type {import('@docusaurus/types').Config} */ const config = { title: 'RabbitMQ', tagline: 'One broker to queue them all', favicon: 'img/rabbitmq-logo.svg', // We need to force the trailing slash behavior to make it work with // CloudFlare pages. trailingSlash: false, // Set the production url of your site here url: 'https://www.rabbitmq.com', // Set the // pathname under which your site is served // For GitHub pages deployment, it is often '//' baseUrl: '/', // GitHub pages deployment config. // If you aren't using GitHub pages, you don't need these. organizationName: 'rabbitmq', // Usually your GitHub org/user name. projectName: 'rabbitmq-website', // Usually your repo name. markdown: { hooks: { onBrokenMarkdownLinks: 'throw' } }, onBrokenLinks: 'throw', onBrokenAnchors: 'warn', // 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'], }, future: { v4: true, // https://github.com/facebook/docusaurus/blob/main/website/docusaurus.config.ts#L174-L193 faster: { swcJsLoader: true, swcJsMinimizer: true, swcHtmlMinimizer: true, lightningCssMinimizer: true, mdxCrossCompilerCache: true, rspackBundler: true, rspackPersistentCache: true, ssgWorkerThreads: true, }, }, customFields: { // Planned releases are kept separate from published release artifacts. plannedRabbitMQReleases: [ { version: '5.0', release_month: '2027-04', end_of_community_support: '2028-05-31', end_of_support: '2031-04-30', }, ], releaseBranches: { rabbitmq: { // RabbitMQ releases per version declared in Docusaurus ('current' for // the future docs). 'current': { releases: [ ], }, '4.4': { releases: [ {version: '4.4.0', release_date: "2026-10-20", }, ], end_of_support: "2028-10-31", end_of_community_support: "2027-07-31", }, '4.3': { releases: [ {version: '4.3.6', release_date: "2026-09-16", }, {version: '4.3.5', release_date: "2026-08-17", }, {version: '4.3.4', release_date: "2026-07-23", }, {version: '4.3.3', release_date: "2026-07-20", }, {version: '4.3.2', release_date: "2026-06-15", }, {version: '4.3.1', release_date: "2026-05-20", }, {version: '4.3.0', release_date: "2026-04-23", }, ], end_of_support: "2028-04-30", end_of_community_support: "2027-01-31", }, '4.2': { // 4.2.10 and later are available to commercial support customers only download_version: '4.2.9', releases: [ {version: '4.2.11', release_date: "2026-09-16", }, {version: '4.2.10', release_date: "2026-08-17", }, {version: '4.2.9', release_date: "2026-07-20", }, {version: '4.2.8', release_date: "2026-06-20", }, {version: '4.2.7', release_date: "2026-05-21", }, {version: '4.2.6', release_date: "2026-05-20", }, {version: '4.2.5', release_date: "2026-03-16", }, {version: '4.2.4', release_date: "2026-02-17", }, {version: '4.2.3', release_date: "2026-01-22", }, {version: '4.2.2', release_date: "2025-12-15", }, {version: '4.2.1', release_date: "2025-11-18", }, { version: '4.2.0', release_date: "2025-10-28", }, ], end_of_support: "2030-06-30", end_of_community_support: "2026-07-31", }, '4.1': { releases: [ {version: '4.1.8', release_date: "2026-01-22", }, {version: '4.1.7', release_date: "2025-12-16", }, {version: '4.1.6', release_date: "2025-11-18", }, {version: '4.1.5', release_date: "2025-10-28", }, {version: '4.1.4', release_date: "2025-09-02", }, {version: '4.1.3', release_date: "2025-08-05", }, {version: '4.1.2', release_date: "2025-07-08", }, {version: '4.1.1', release_date: "2025-06-04", }, { version: '4.1.0', release_date: "2025-04-15", links: [ { type: "announcement", url: "/blog/tags/rabbit-mq-4-1" }, ], }, ], end_of_support: "2027-04-30", end_of_community_support: "2026-01-31", }, '4.0': { releases: [ {version: '4.0.9', release_date: "2025-04-14", }, {version: '4.0.8', release_date: "2025-04-03", }, {version: '4.0.7', release_date: "2025-02-26", }, {version: '4.0.6', release_date: "2025-02-11", }, {version: '4.0.5', release_date: "2024-12-15", }, {version: '4.0.4', release_date: "2024-11-21", }, {version: '4.0.3', release_date: "2024-10-28", }, {version: '4.0.2', release_date: "2024-09-21", }, { version: '4.0.1', release_date: "2024-09-18", links: [ { type: "announcement", url: "/blog/tags/rabbit-mq-4-0" }, ], }, ], end_of_support: "2026-09-30", }, '3.13': { releases: [ {version: '3.13.7', release_date: "2024-08-26", }, {version: '3.13.6', release_date: "2024-07-23", }, {version: '3.13.5', release_date: "2024-07-19", }, {version: '3.13.4', release_date: "2024-07-03", }, {version: '3.13.3', release_date: "2024-05-31", }, {version: '3.13.2', release_date: "2024-04-30", }, {version: '3.13.1', release_date: "2024-03-29", }, { version: '3.13.0', release_date: "2024-02-22", links: [ { type: "announcement", url: "/blog/2024/03/11/rabbitmq-3.13.0-announcement" }, ], }, ], end_of_support: "2029-12-31", }, '3.12': { releases: [ {version: '3.12.14', release_date: "2024-05-06", }, {version: '3.12.13', release_date: "2024-02-16", }, {version: '3.12.12', release_date: "2024-01-09", }, {version: '3.12.11', release_date: "2023-12-22", }, {version: '3.12.10', release_date: "2023-11-21", }, {version: '3.12.9', release_date: "2023-11-17", }, {version: '3.12.8', release_date: "2023-11-01", }, {version: '3.12.7', release_date: "2023-10-18", }, {version: '3.12.6', release_date: "2023-09-22", }, {version: '3.12.5', release_date: "2023-09-20", }, {version: '3.12.4', release_date: "2023-08-24", }, {version: '3.12.3', release_date: "2023-08-18", }, {version: '3.12.2', release_date: "2023-07-18", }, {version: '3.12.1', release_date: "2023-06-26", }, {version: '3.12.0', release_date: "2023-06-02", }, ], end_of_support: "2025-06-30", }, }, // Client releases. java: '5.36.0', dotnet: '7.0.0', }, }, presets: [ [ 'classic', /** @type {import('@docusaurus/preset-classic').Options} */ ({ docs: { sidebarPath: './sidebarsDocs.js', // Please change this to your repo. // Remove this to remove the "edit this page" links. editUrl: 'https://github.com/rabbitmq/rabbitmq-website/tree/main/', versions: { '3.13': { banner: 'none' }, }, }, blog: { blogSidebarCount: 0, showReadingTime: true, // Please change this to your repo. // Remove this to remove the "edit this page" links. editUrl: 'https://github.com/rabbitmq/rabbitmq-website/tree/main/', rehypePlugins: [imgRendering], // silence a warning about older blog posts with Docusaurus 3.5.0+ onUntruncatedBlogPosts: 'ignore' }, theme: { customCss: './src/css/custom.css', } }), ], ], plugins: [ [ '@docusaurus/plugin-content-docs', { id: 'tutorials', path: 'tutorials', routeBasePath: 'tutorials', sidebarPath: './sidebarsTutorials.js', // Remove this to remove the "edit this page" links. editUrl: 'https://github.com/rabbitmq/rabbitmq-website/tree/main/', }, ], [ '@docusaurus/plugin-content-docs', { id: 'release-information', path: 'release-information', routeBasePath: 'release-information', sidebarPath: './sidebarsReleaseInfo.js', }, ], [ '@docusaurus/plugin-content-docs', { id: 'kubernetes', path: 'kubernetes', routeBasePath: 'kubernetes', sidebarPath: './sidebarsKubernetes.js', // Remove this to remove the "edit this page" links. editUrl: 'https://github.com/rabbitmq/rabbitmq-website/tree/main/', }, ], [ '@docusaurus/plugin-content-docs', { id: 'client-libraries', path: 'client-libraries', routeBasePath: 'client-libraries', sidebarPath: './sidebarsClientLibs.js', // Remove this to remove the "edit this page" links. editUrl: 'https://github.com/rabbitmq/rabbitmq-website/tree/main/', }, ], "./src/plugins/configure-svgo.js", ], themeConfig: /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ ({ codeblock: { showGithubLink: true, githubLinkLabel: 'View on GitHub' }, colorMode: { respectPrefersColorScheme: true }, // Replace with your project's social card image: 'img/rabbitmq-social-media-card.svg', navbar: { // We do not define a title here because we only want the logo to // appear in the top-level area. // title: 'RabbitMQ', logo: { alt: 'RabbitMQ', src: 'img/rabbitmq-logo-by-tanzu.svg', }, items: [ {to: '/tutorials', label: 'Getting Started', position: 'left'}, { type: 'docSidebar', label: 'Docs', sidebarId: 'docsSidebar', position: 'left', }, {to: '/blog', label: 'Blog', position: 'left'}, { type: 'docsVersionDropdown', position: 'right', dropdownItemsBefore: [ {type: 'html', value: 'Release series'}, ], dropdownItemsAfter: [ ], }, { label: 'Support', to: '/contact', }, { label: 'Security', to: '/security', }, { label: 'Commercial Features', to: '/commercial-features', }, { label: 'GitHub', href: 'https://github.com/rabbitmq/rabbitmq-website', position: 'right', }, ], }, // announcementBar: { // id: 'latest-announcement', // content: '
🎉️ RabbitMQ 4.3 is out! 🥳️
', // backgroundColor: 'var(--ifm-color-primary-contrast-background)', // textColor: 'var(--ifm-font-color-base)', // isCloseable: true, // }, footer: { style: 'dark', links: [ { title: 'Learn about RabbitMQ', items: [ { label: 'Getting Started', to: '/tutorials', }, { label: 'Documentation', to: '/docs', }, { label: 'Blog', to: '/blog', }, { label: 'Compare with Other Brokers', to: '/docs/compare', }, { label: 'Security', to: '/security', }, ], }, { title: 'Reach out to the RabbitMQ team', items: [ { label: 'GitHub', href: 'https://github.com/rabbitmq', }, { label: 'GitHub Discussions', href: 'https://github.com/rabbitmq/rabbitmq-server/discussions', }, { label: 'Long Term Commercial Support', href: '/contact?utm_source=rmq_release-information_tableheader&utm_medium=rmq_website&utm_campaign=tanzu', }, { label: 'Contact Us', href: '/contact', }, { label: 'Discord', href: 'https://www.rabbitmq.com/discord', }, ], }, { title: 'Broadcom', items: [ { label: 'VMware Tanzu', href: 'https://tanzu.vmware.com/', }, { label: 'Terms of Use', href: 'https://www.vmware.com/help/legal.html', }, { label: 'Privacy', href: 'https://www.vmware.com/help/privacy.html', }, { label: 'Trademark Guidelines', to: '/trademark-guidelines', }, { label: 'Your California Privacy Rights', href: 'https://www.vmware.com/help/privacy/california-privacy-rights.html', }, { html: 'Cookie Settings', }, ], }, ], copyright: `Copyright © 2005-${new Date().getFullYear()} Broadcom. All Rights Reserved. The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.`, }, prism: { theme: prismThemes.github, darkTheme: prismThemes.dracula, additionalLanguages: [ 'bash', 'batch', 'csharp', 'elixir', 'erlang', 'go', 'java', 'json', 'php', 'PowerShell', 'python', 'ruby', 'shell-session', 'yaml', ], }, algolia: { // The application ID provided by Algolia appId: 'H10VQIW16Y', // Public API key: it is safe to commit it apiKey: 'f23e8af89d899070974a643428531141', indexName: 'rabbitmq.com', // Optional: see doc section below contextualSearch: true, // Optional: Algolia search parameters searchParameters: {}, // Optional: path for search page that enabled by default (`false` to // disable it) searchPagePath: 'search', }, }), headTags: [ { tagName: 'link', attributes: { rel: 'stylesheet', href: 'https://fonts.googleapis.com/css?family=Raleway:400,700', }, }, { tagName: 'script', attributes: { src: 'https://cdn.cookielaw.org/scripttemplates/otSDKStub.js', 'data-domain-script': "018ee308-473e-754f-b0c2-cbe82d25512f", }, }, { tagName: 'script', attributes: {}, innerHTML: "function OptanonWrapper() {}", }, { tagName: 'script', attributes: {}, innerHTML: "function setGTM(w, d, s, l, i) { w[l] = w[l] || []; w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); } if (document.cookie.indexOf('OptanonConsent') > -1 && document.cookie.indexOf('groups=') > -1) { setGTM(window, document, 'script', 'dataLayer', 'GTM-TT84L8K'); } else { waitForOnetrustActiveGroups(); } var timer; function waitForOnetrustActiveGroups() { if (document.cookie.indexOf('OptanonConsent') > -1 && document.cookie.indexOf('groups=') > -1) { clearTimeout(timer); setGTM(window, document, 'script', 'dataLayer', 'GTM-TT84L8K'); } else { timer = setTimeout(waitForOnetrustActiveGroups, 250); } }", }, ], markdown: { mermaid: true, mdx1Compat: { comments: true, admonitions: true, headingIds: true, }, }, themes: [ '@docusaurus/theme-mermaid', 'docusaurus-theme-github-codeblock' ], }; export default config;