You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by ti...@apache.org on 2022/12/14 04:56:10 UTC
[pulsar-site] branch main updated: Rewrite download page (#329)
This is an automated email from the ASF dual-hosted git repository.
tison pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pulsar-site.git
The following commit(s) were added to refs/heads/main by this push:
new 6703c00ba15 Rewrite download page (#329)
6703c00ba15 is described below
commit 6703c00ba1578a6186af7d32e2fc3a2c438a7c5c
Author: tison <wa...@gmail.com>
AuthorDate: Wed Dec 14 12:56:06 2022 +0800
Rewrite download page (#329)
Signed-off-by: tison <wa...@gmail.com>
---
.../website-next/src/components/ConnectorTable.js | 4 +-
site2/website-next/src/components/ReleaseTable.js | 4 +-
site2/website-next/src/components/downloads.tsx | 276 ++++++++++++++
site2/website-next/src/css/custom.css | 1 -
site2/website-next/src/pages/download.js | 404 ---------------------
site2/website-next/src/pages/download.mdx | 78 ++++
6 files changed, 356 insertions(+), 411 deletions(-)
diff --git a/site2/website-next/src/components/ConnectorTable.js b/site2/website-next/src/components/ConnectorTable.js
index 6c10b7360ae..ed227bb111c 100644
--- a/site2/website-next/src/components/ConnectorTable.js
+++ b/site2/website-next/src/components/ConnectorTable.js
@@ -4,11 +4,9 @@ import TableBody from "@mui/material/TableBody";
import TableCell from "@mui/material/TableCell";
import TableRow from "@mui/material/TableRow";
import Link from "@mui/material/Link";
-// import useDocusaurusContext from "@docusaurus/useDocusaurusContext";
-import Translate, { translate } from "@docusaurus/Translate";
+import Translate from "@docusaurus/Translate";
export default function VersionsTable(props) {
- // const { siteConfig } = useDocusaurusContext();
return (
<Table size="small">
<TableBody>
diff --git a/site2/website-next/src/components/ReleaseTable.js b/site2/website-next/src/components/ReleaseTable.js
index 126aab0001c..5965b428f5b 100644
--- a/site2/website-next/src/components/ReleaseTable.js
+++ b/site2/website-next/src/components/ReleaseTable.js
@@ -4,11 +4,9 @@ import TableBody from "@mui/material/TableBody";
import TableCell from "@mui/material/TableCell";
import TableRow from "@mui/material/TableRow";
import Link from "@mui/material/Link";
-// import useDocusaurusContext from "@docusaurus/useDocusaurusContext";
-import Translate, { translate } from "@docusaurus/Translate";
+import Translate from "@docusaurus/Translate";
export default function VersionsTable(props) {
- // const { siteConfig } = useDocusaurusContext();
return (
<Table size="small">
<TableBody>
diff --git a/site2/website-next/src/components/downloads.tsx b/site2/website-next/src/components/downloads.tsx
new file mode 100644
index 00000000000..bf8f11b3832
--- /dev/null
+++ b/site2/website-next/src/components/downloads.tsx
@@ -0,0 +1,276 @@
+import React from 'react'
+import pulsarReleases from '@site/releases.json'
+import pulsarLegacyVersions from '@site/legacy-versions.json'
+import connectors from '@site/data/connectors'
+import cppReleases from '@site/data/release-cpp'
+import pulsarManagerReleases from '@site/pulsar-manager/pulsar-manager-release.json'
+import pulsarAdaptersReleases from '@site/pulsar-manager/pulsar-adapters-release.json'
+import ReleaseTable from "@site/src/components/ReleaseTable";
+import ConnectorTable from "@site/src/components/ConnectorTable";
+import useDocusaurusContext from "@docusaurus/useDocusaurusContext";
+import OldReleaseTable from "@site/src/components/OldReleaseTable";
+
+export function CurrentPulsarVersion(): JSX.Element {
+ return <>{pulsarReleases[0]}</>
+}
+
+export function CurrentPulsarManagerVersion(): JSX.Element {
+ return <>{pulsarManagerReleases[0]}</>
+}
+
+export function CurrentPulsarAdapterVersion(): JSX.Element {
+ return <>{pulsarAdaptersReleases[0]}</>
+}
+
+export function CurrentPulsarDownloadTable(): JSX.Element {
+ const latestVersion = pulsarReleases[0]
+ const latestArchiveMirrorUrl = getLatestArchiveMirrorUrl(latestVersion, "bin")
+ const latestSrcArchiveMirrorUrl = getLatestArchiveMirrorUrl(latestVersion, "src")
+ const latestArchiveUrl = distUrl(latestVersion, "bin")
+ const latestSrcArchiveUrl = distUrl(latestVersion, "src")
+ const data = [
+ {
+ release: "Binary",
+ link: latestArchiveMirrorUrl,
+ linkText: `apache-pulsar-${latestVersion}-bin.tar.gz`,
+ asc: `${latestArchiveUrl}.asc`,
+ sha512: `${latestArchiveUrl}.sha512`,
+ },
+ {
+ release: "Source",
+ link: latestSrcArchiveMirrorUrl,
+ linkText: `apache-pulsar-${latestVersion}-src.tar.gz`,
+ asc: `${latestSrcArchiveUrl}.asc`,
+ sha512: `${latestSrcArchiveUrl}.sha512`,
+ },
+ ]
+ return <div className="tailwind">
+ <ReleaseTable data={data}></ReleaseTable>
+ </div>
+}
+
+export function CurrentPulsarOffloadersDownloadTable(): JSX.Element {
+ const latestVersion = pulsarReleases[0]
+ const data = [
+ {
+ release: "Offloaders",
+ link: getLatestOffloadersMirrorUrl(latestVersion),
+ linkText: `apache-pulsar-offloaders-${latestVersion}-bin.tar.gz`,
+ asc: `${distOffloadersUrl(latestVersion)}.asc`,
+ sha512: `${distOffloadersUrl(latestVersion)}.sha512`,
+ },
+ ]
+ return <div className="tailwind">
+ <ReleaseTable data={data}></ReleaseTable>
+ </div>
+}
+
+export function CurrentPulsarConnectorsDownloadTable(): JSX.Element {
+ const latestVersion = pulsarReleases[0]
+ const data = connectors.map((connector) => ({
+ connector: connector.link,
+ connectorText: connector.longName,
+ archive: `${connectorDownloadUrl(
+ connector.name,
+ latestVersion
+ )}`,
+ archiveText: `pulsar-io-${connector.name}-${latestVersion}.nar`,
+ asc: `${connectorDistUrl(connector.name, latestVersion)}.asc`,
+ sha512: `${connectorDistUrl(
+ connector.name,
+ latestVersion
+ )}.sha512`,
+ }))
+ return <div className="tailwind">
+ <ConnectorTable data={data}></ConnectorTable>
+ </div>
+}
+
+export function ArchivedPulsarDownloadTable(): JSX.Element {
+ const { siteConfig } = useDocusaurusContext()
+ const latestVersion = pulsarReleases[0]
+ const releaseInfo = pulsarReleases.map((version) => ({
+ version: version,
+ binArchiveUrl: archiveUrl(version, "bin"),
+ srcArchiveUrl: archiveUrl(version, "src"),
+ }))
+ const data = releaseInfo
+ .filter((info) => info.version != latestVersion)
+ .map((info) => {
+ let sha = "sha512"
+ if (info.version.includes("1.19.0-incubating") || info.version.includes("1.20.0-incubating")) {
+ sha = "sha"
+ }
+ return {
+ release: info.version,
+ binary: info.binArchiveUrl,
+ binaryText: `apache-pulsar-${info.version}-bin.tar.gz`,
+ binaryAsc: `${info.binArchiveUrl}.asc`,
+ binarySha: `${info.binArchiveUrl}.${sha}`,
+ binaryShaText: `${sha}`,
+ source: info.srcArchiveUrl,
+ sourceText: `apache-pulsar-${info.version}-src.tar.gz`,
+ sourceAsc: `${info.srcArchiveUrl}.asc`,
+ sourceSha: `${info.srcArchiveUrl}.${sha}`,
+ sourceShaText: `${sha}`,
+ releaseNote: !pulsarLegacyVersions.includes(info.version)
+ ? `${siteConfig.baseUrl}release-notes/versioned/pulsar-${info.version}`
+ : `${siteConfig.baseUrl}release-notes/legacy/#${info.version.replace(
+ /\./g,
+ ""
+ )}`,
+ }
+ })
+ return <div className="tailwind">
+ <OldReleaseTable data={data}></OldReleaseTable>
+ </div>
+}
+
+export function CppReleasesDownloadTable(): JSX.Element {
+ const data = cppReleases
+ .map(item => item.vtag)
+ .filter(version => Number(version.split('.')[0]) >= 3)
+ .map(version => {
+ const url = `https://archive.apache.org/dist/pulsar/pulsar-client-cpp-${version}/`
+ const tarPath = `${url}/apache-pulsar-client-cpp-${version}.tar.gz`
+ return {
+ release: version,
+ link: url,
+ linkText: `apache-pulsar-cpp-${version}`,
+ asc: `${tarPath}.asc`,
+ sha512: `${tarPath}.sha512`
+ }
+ })
+ return <div className="tailwind">
+ <ReleaseTable data={data}></ReleaseTable>
+ </div>
+}
+
+export function CurrentPulsarAdapterDownloadTable(): JSX.Element {
+ const latestPulsarAdaptersVersion = pulsarAdaptersReleases[0]
+ const data = [
+ {
+ release: "Source",
+ link: getLatestAdaptersMirrorUrl(latestPulsarAdaptersVersion),
+ linkText: `apache-pulsar-adapters-${latestPulsarAdaptersVersion}-src.tar.gz`,
+ asc: `${distAdaptersUrl(latestPulsarAdaptersVersion)}.asc`,
+ sha512: `${distAdaptersUrl(latestPulsarAdaptersVersion)}.sha512`,
+ },
+ ]
+ return <div className="tailwind">
+ <ReleaseTable data={data}></ReleaseTable>
+ </div>
+}
+
+export function CurrentPulsarManagerDownloadTable(): JSX.Element {
+ const latestPulsarManagerVersion = pulsarManagerReleases[0]
+ const latestPulsarManagerArchiveMirrorUrl = getLatestPulsarManagerArchiveMirrorUrl(latestPulsarManagerVersion, "bin")
+ const latestPulsarManagerSrcArchiveMirrorUrl = getLatestPulsarManagerArchiveMirrorUrl(latestPulsarManagerVersion, "src")
+ const pulsarManagerLatestArchiveUrl = pulsarManagerDistUrl(latestPulsarManagerVersion, "bin")
+ const pulsarManagerLatestSrcArchiveUrl = pulsarManagerDistUrl(latestPulsarManagerVersion, "src")
+ const data = [
+ {
+ release: "Binary",
+ link: latestPulsarManagerArchiveMirrorUrl,
+ linkText: `apache-pulsar-manager-${latestPulsarManagerVersion}-bin.tar.gz`,
+ asc: `${pulsarManagerLatestArchiveUrl}.asc`,
+ sha512: `${pulsarManagerLatestArchiveUrl}.sha512`,
+ },
+ {
+ release: "Source",
+ link: latestPulsarManagerSrcArchiveMirrorUrl,
+ linkText: `apache-pulsar-manager-${latestPulsarManagerVersion}-src.tar.gz`,
+ asc: `${pulsarManagerLatestSrcArchiveUrl}.asc`,
+ sha512: `${pulsarManagerLatestSrcArchiveUrl}.sha512`,
+ },
+ ]
+ return <div className="tailwind">
+ <ReleaseTable data={data}></ReleaseTable>
+ </div>
+}
+
+export function ArchivedPulsarManagerDownloadTable(): JSX.Element {
+ const { siteConfig } = useDocusaurusContext()
+ const latestPulsarManagerVersion = pulsarManagerReleases[0]
+ const pulsarManagerReleaseInfo = pulsarManagerReleases.map((version) => ({
+ version: version,
+ binArchiveUrl: pulsarManagerArchiveUrl(version, "bin"),
+ srcArchiveUrl: pulsarManagerArchiveUrl(version, "src"),
+ }))
+ const data = pulsarManagerReleaseInfo
+ .filter((info) => info.version !== latestPulsarManagerVersion)
+ .map((info) => {
+ const sha = "sha512";
+ return {
+ release: info.version,
+ binary: info.binArchiveUrl,
+ binaryText: `apache-pulsar-manager-${info.version}-bin.tar.gz`,
+ binaryAsc: `${info.binArchiveUrl}.asc`,
+ binarySha: `${info.binArchiveUrl}.${sha}`,
+ binaryShaText: `${sha}`,
+ source: info.srcArchiveUrl,
+ sourceText: `apache-pulsar-manager-${info.version}-src.tar.gz`,
+ sourceAsc: `${info.srcArchiveUrl}.asc`,
+ sourceSha: `${info.srcArchiveUrl}.${sha}`,
+ sourceShaText: `${sha}`,
+ releaseNote: `${siteConfig.baseUrl}release-notes#${
+ info.version
+ }`,
+ };
+ })
+ return <div className="tailwind">
+ <OldReleaseTable data={data}></OldReleaseTable>
+ </div>
+}
+
+function getLatestArchiveMirrorUrl(version, type) {
+ return `https://www.apache.org/dyn/mirrors/mirrors.cgi?action=download&filename=pulsar/pulsar-${version}/apache-pulsar-${version}-${type}.tar.gz`;
+}
+
+function getLatestOffloadersMirrorUrl(version) {
+ return `https://www.apache.org/dyn/mirrors/mirrors.cgi?action=download&filename=pulsar/pulsar-${version}/apache-pulsar-offloaders-${version}-bin.tar.gz`;
+}
+
+function getLatestAdaptersMirrorUrl(version) {
+ return `https://www.apache.org/dyn/mirrors/mirrors.cgi?action=download&filename=pulsar/pulsar-adapters-${version}/apache-pulsar-adapters-${version}-src.tar.gz`;
+}
+
+function distUrl(version, type) {
+ return `https://downloads.apache.org/pulsar/pulsar-${version}/apache-pulsar-${version}-${type}.tar.gz`;
+}
+
+function distOffloadersUrl(version) {
+ return `https://downloads.apache.org/pulsar/pulsar-${version}/apache-pulsar-offloaders-${version}-bin.tar.gz`;
+}
+
+function distAdaptersUrl(version) {
+ return `https://downloads.apache.org/pulsar/pulsar-adapters-${version}/apache-pulsar-adapters-${version}-src.tar.gz`;
+}
+
+function archiveUrl(version, type) {
+ if (version.includes("incubating")) {
+ return `https://archive.apache.org/dist/incubator/pulsar/pulsar-${version}/apache-pulsar-${version}-${type}.tar.gz`;
+ } else {
+ return `https://archive.apache.org/dist/pulsar/pulsar-${version}/apache-pulsar-${version}-${type}.tar.gz`;
+ }
+}
+
+function pulsarManagerArchiveUrl(version, type) {
+ return `https://archive.apache.org/dist/pulsar/pulsar-manager/pulsar-manager-${version}/apache-pulsar-manager-${version}-${type}.tar.gz`;
+}
+
+function connectorDistUrl(name, version) {
+ return `https://downloads.apache.org/pulsar/pulsar-${version}/connectors/pulsar-io-${name}-${version}.nar`;
+}
+
+function connectorDownloadUrl(name, version) {
+ return `https://www.apache.org/dyn/mirrors/mirrors.cgi?action=download&filename=pulsar/pulsar-${version}/connectors/pulsar-io-${name}-${version}.nar`;
+}
+
+function getLatestPulsarManagerArchiveMirrorUrl(version, type) {
+ return `https://www.apache.org/dyn/mirrors/mirrors.cgi?action=download&filename=pulsar/pulsar-manager/pulsar-manager-${version}/apache-pulsar-manager-${version}-${type}.tar.gz`;
+}
+
+function pulsarManagerDistUrl(version, type) {
+ return `https://downloads.apache.org/pulsar/pulsar-manager/pulsar-manager-${version}/apache-pulsar-manager-${version}-${type}.tar.gz`;
+}
\ No newline at end of file
diff --git a/site2/website-next/src/css/custom.css b/site2/website-next/src/css/custom.css
index 412f316092f..37fe6d2a1f5 100644
--- a/site2/website-next/src/css/custom.css
+++ b/site2/website-next/src/css/custom.css
@@ -161,7 +161,6 @@ html[data-theme="dark"] .navbar-sidebar {
}
.mdx-wrapper.mdx-page .container {
- max-width: 880px;
z-index: 1;
position: relative;
}
diff --git a/site2/website-next/src/pages/download.js b/site2/website-next/src/pages/download.js
deleted file mode 100644
index bae55b809cd..00000000000
--- a/site2/website-next/src/pages/download.js
+++ /dev/null
@@ -1,404 +0,0 @@
-import * as React from "react";
-import Layout from "@theme/Layout";
-import ReleaseTable from "../components/ReleaseTable";
-import ConnectorTable from "../components/ConnectorTable";
-import OldReleaseTable from "../components/OldReleaseTable";
-import useDocusaurusContext from "@docusaurus/useDocusaurusContext";
-import Translate, { translate } from "@docusaurus/Translate";
-import ReactMarkdown from "react-markdown";
-
-const releases = require(`../../releases.json`);
-const legacyVersions = require(`../../legacy-versions.json`);
-const pulsarManagerReleases = require(`../../pulsar-manager/pulsar-manager-release.json`);
-const pulsarAdaptersReleases = require(`../../pulsar-manager/pulsar-adapters-release.json`);
-const pulsarCppReleases = require(`../../data/release-cpp.js`);
-const connectors = require(`../../data/connectors.js`);
-
-function getLatestArchiveMirrorUrl(version, type) {
- return `https://www.apache.org/dyn/mirrors/mirrors.cgi?action=download&filename=pulsar/pulsar-${version}/apache-pulsar-${version}-${type}.tar.gz`;
-}
-
-function getLatestOffloadersMirrorUrl(version) {
- return `https://www.apache.org/dyn/mirrors/mirrors.cgi?action=download&filename=pulsar/pulsar-${version}/apache-pulsar-offloaders-${version}-bin.tar.gz`;
-}
-
-function getLatestAdaptersMirrorUrl(version) {
- return `https://www.apache.org/dyn/mirrors/mirrors.cgi?action=download&filename=pulsar/pulsar-adapters-${version}/apache-pulsar-adapters-${version}-src.tar.gz`;
-}
-
-function distUrl(version, type) {
- return `https://downloads.apache.org/pulsar/pulsar-${version}/apache-pulsar-${version}-${type}.tar.gz`;
-}
-
-function distOffloadersUrl(version) {
- return `https://downloads.apache.org/pulsar/pulsar-${version}/apache-pulsar-offloaders-${version}-bin.tar.gz`;
-}
-
-function distAdaptersUrl(version) {
- return `https://downloads.apache.org/pulsar/pulsar-adapters-${version}/apache-pulsar-adapters-${version}-src.tar.gz`;
-}
-
-function archiveUrl(version, type) {
- if (version.includes("incubating")) {
- return `https://archive.apache.org/dist/incubator/pulsar/pulsar-${version}/apache-pulsar-${version}-${type}.tar.gz`;
- } else {
- return `https://archive.apache.org/dist/pulsar/pulsar-${version}/apache-pulsar-${version}-${type}.tar.gz`;
- }
-}
-
-function pularManagerArchiveUrl(version, type) {
- return `https://archive.apache.org/dist/pulsar/pulsar-manager/pulsar-manager-${version}/apache-pulsar-manager-${version}-${type}.tar.gz`;
-}
-
-function connectorDistUrl(name, version) {
- return `https://downloads.apache.org/pulsar/pulsar-${version}/connectors/pulsar-io-${name}-${version}.nar`;
-}
-
-function connectorDownloadUrl(name, version) {
- return `https://www.apache.org/dyn/mirrors/mirrors.cgi?action=download&filename=pulsar/pulsar-${version}/connectors/pulsar-io-${name}-${version}.nar`;
-}
-
-function getLatestPulsarManagerArchiveMirrorUrl(version, type) {
- return `https://www.apache.org/dyn/mirrors/mirrors.cgi?action=download&filename=pulsar/pulsar-manager/pulsar-manager-${version}/apache-pulsar-manager-${version}-${type}.tar.gz`;
-}
-
-function pulsarManagerDistUrl(version, type) {
- return `https://downloads.apache.org/pulsar/pulsar-manager/pulsar-manager-${version}/apache-pulsar-manager-${version}-${type}.tar.gz`;
-}
-
-function language(props) {
- return props.language ? props.language + "/" : "";
-}
-
-export default function page(props) {
- const { siteConfig } = useDocusaurusContext();
- const latestVersion = releases[0];
- const latestPulsarManagerVersion = pulsarManagerReleases[0];
- const latestPulsarAdaptersVersion = pulsarAdaptersReleases[0];
- const latestArchiveMirrorUrl = getLatestArchiveMirrorUrl(
- latestVersion,
- "bin"
- );
- const latestSrcArchiveMirrorUrl = getLatestArchiveMirrorUrl(
- latestVersion,
- "src"
- );
- const latestPulsarManagerArchiveMirrorUrl =
- getLatestPulsarManagerArchiveMirrorUrl(latestPulsarManagerVersion, "bin");
- const latestPulsarManagerSrcArchiveMirrorUrl =
- getLatestPulsarManagerArchiveMirrorUrl(latestPulsarManagerVersion, "src");
- const latestArchiveUrl = distUrl(latestVersion, "bin");
- const latestSrcArchiveUrl = distUrl(latestVersion, "src");
- const pulsarManagerLatestArchiveUrl = pulsarManagerDistUrl(
- latestPulsarManagerVersion,
- "bin"
- );
- const pulsarManagerLatestSrcArchiveUrl = pulsarManagerDistUrl(
- latestPulsarManagerVersion,
- "src"
- );
-
- const releaseInfo = releases.map((version) => {
- return {
- version: version,
- binArchiveUrl: archiveUrl(version, "bin"),
- srcArchiveUrl: archiveUrl(version, "src"),
- };
- });
-
- const pulsarCppReleaseInfo = pulsarCppReleases.map(item => item.vtag)
- .filter(version => Number(version.split('.')[0]) >= 3)
- .map(version => {
- const url = `https://archive.apache.org/dist/pulsar/pulsar-client-cpp-${version}/`;
- const tarPath = `${url}/apache-pulsar-client-cpp-${version}.tar.gz`;
- return {
- release: version,
- link: url,
- linkText: `apache-pulsar-cpp-${version}`,
- asc: `${tarPath}.asc`,
- sha512: `${tarPath}.sha512`
- };
- });
-
- const pulsarManagerReleaseInfo = pulsarManagerReleases.map((version) => {
- return {
- version: version,
- binArchiveUrl: pularManagerArchiveUrl(version, "bin"),
- srcArchiveUrl: pularManagerArchiveUrl(version, "src"),
- };
- });
-
- const latest = [
- {
- release: "Binary",
- link: latestArchiveMirrorUrl,
- linkText: `apache-pulsar-${latestVersion}-bin.tar.gz`,
- asc: `${latestArchiveUrl}.asc`,
- sha512: `${latestArchiveUrl}.sha512`,
- },
- {
- release: "Source",
- link: latestSrcArchiveMirrorUrl,
- linkText: `apache-pulsar-${latestVersion}-src.tar.gz`,
- asc: `${latestSrcArchiveUrl}.asc`,
- sha512: `${latestSrcArchiveUrl}.sha512`,
- },
- ];
- const stable = [
- {
- release: "Source",
- link: getLatestAdaptersMirrorUrl(latestPulsarAdaptersVersion),
- linkText: `apache-pulsar-adapters-${latestPulsarAdaptersVersion}-src.tar.gz`,
- asc: `${distAdaptersUrl(latestPulsarAdaptersVersion)}.asc`,
- sha512: `${distAdaptersUrl(latestPulsarAdaptersVersion)}.sha512`,
- },
- ];
- const offloaders = [
- {
- release: "Offloaders",
- link: getLatestOffloadersMirrorUrl(latestVersion),
- linkText: `apache-pulsar-offloaders-${latestVersion}-bin.tar.gz`,
- asc: `${distOffloadersUrl(latestVersion)}.asc`,
- sha512: `${distOffloadersUrl(latestVersion)}.sha512`,
- },
- ];
- const oldReleases = releaseInfo
- .filter((info) => {
- return info.version != latestVersion;
- })
- .map((info) => {
- var sha = "sha512";
- if (
- info.version.includes("1.19.0-incubating") ||
- info.version.includes("1.20.0-incubating")
- ) {
- sha = "sha";
- }
- return {
- release: info.version,
- binary: info.binArchiveUrl,
- binaryText: `apache-pulsar-${info.version}-bin.tar.gz`,
- binaryAsc: `${info.binArchiveUrl}.asc`,
- binarySha: `${info.binArchiveUrl}.${sha}`,
- binaryShaText: `${sha}`,
- source: info.srcArchiveUrl,
- sourceText: `apache-pulsar-${info.version}-src.tar.gz`,
- sourceAsc: `${info.srcArchiveUrl}.asc`,
- sourceSha: `${info.srcArchiveUrl}.${sha}`,
- sourceShaText: `${sha}`,
- releaseNote: !legacyVersions.includes(info.version)
- ? `${siteConfig.baseUrl}release-notes/versioned/pulsar-${info.version}`
- : `${siteConfig.baseUrl}release-notes/legacy/#${info.version.replace(
- /\./g,
- ""
- )}`,
- };
- });
- const apmStable = [
- {
- release: "Binary",
- link: latestPulsarManagerArchiveMirrorUrl,
- linkText: `apache-pulsar-manager-${latestPulsarManagerVersion}-bin.tar.gz`,
- asc: `${pulsarManagerLatestArchiveUrl}.asc`,
- sha512: `${pulsarManagerLatestArchiveUrl}.sha512`,
- },
- {
- release: "Source",
- link: latestPulsarManagerSrcArchiveMirrorUrl,
- linkText: `apache-pulsar-manager-${latestPulsarManagerVersion}-src.tar.gz`,
- asc: `${pulsarManagerLatestSrcArchiveUrl}.asc`,
- sha512: `${pulsarManagerLatestSrcArchiveUrl}.sha512`,
- },
- ];
- const apmOldReleases = pulsarManagerReleaseInfo
- .filter((info) => info.version !== latestPulsarManagerVersion)
- .map((info) => {
- const sha = "sha512";
- return {
- release: info.version,
- binary: info.binArchiveUrl,
- binaryText: `apache-pulsar-manager-${info.version}-bin.tar.gz`,
- binaryAsc: `${info.binArchiveUrl}.asc`,
- binarySha: `${info.binArchiveUrl}.${sha}`,
- binaryShaText: `${sha}`,
- source: info.srcArchiveUrl,
- sourceText: `apache-pulsar-manager-${info.version}-src.tar.gz`,
- sourceAsc: `${info.srcArchiveUrl}.asc`,
- sourceSha: `${info.srcArchiveUrl}.${sha}`,
- sourceShaText: `${sha}`,
- releaseNote: `${siteConfig.baseUrl}${language(props)}release-notes#${
- info.version
- }`,
- };
- });
- return (
- <Layout>
- <div className="tailwind">
- <div className="my-12 container">
- <header className="postHeader">
- <h1>
- <Translate>Apache Pulsar downloads</Translate>
- </h1>
- <hr />
- </header>
-
- <h2>
- <Translate>Release notes</Translate>
- </h2>
- <div>
- <p>
- <a href={`${siteConfig.baseUrl}${language(props)}release-notes`}>
- Release notes
- </a>{" "}
- for all Pulsar's versions
- </p>
- </div>
- <h2 id="latest">
- <Translate>Current version (Stable)</Translate> {latestVersion}
- </h2>
- <ReactMarkdown>
- You can download all previous versions of Pulsar
- [here](https://archive.apache.org/dist/pulsar/).
- </ReactMarkdown>
- <ReleaseTable data={latest}></ReleaseTable>
- <h3>
- <Translate>Tiered storage offloaders</Translate>
- </h3>
- <ReactMarkdown>
- You can download all previous versions of tiered storage offloaders
- [here](https://archive.apache.org/dist/pulsar/).
- </ReactMarkdown>
- <ReleaseTable data={offloaders}></ReleaseTable>
- <h3 id="connectors">
- <Translate>Pulsar IO connectors</Translate>
- </h3>
- <ReactMarkdown>
- You can download all previous versions of connectors
- [here](https://archive.apache.org/dist/pulsar/).
- </ReactMarkdown>
- <ConnectorTable
- data={connectors.map((connector) => {
- return {
- connector: connector.link,
- connectorText: connector.longName,
- archive: `${connectorDownloadUrl(
- connector.name,
- latestVersion
- )}`,
- archiveText: `pulsar-io-${connector.name}-${latestVersion}.nar`,
- asc: `${connectorDistUrl(connector.name, latestVersion)}.asc`,
- sha512: `${connectorDistUrl(
- connector.name,
- latestVersion
- )}.sha512`,
- };
- })}
- ></ConnectorTable>
- <h2>
- <Translate>Release Integrity</Translate>
- </h2>
- <ReactMarkdown>
- You must [verify](https://www.apache.org/info/verification.html) the
- integrity of the downloaded files. We provide OpenPGP signatures for
- every release file. This signature should be matched against the
- [KEYS](https://downloads.apache.org/pulsar/KEYS) file which contains
- the OpenPGP keys of Pulsar's Release Managers. We also provide
- `SHA-512` checksums for every release file. After you download the
- file, you should calculate a checksum for your download, and make
- sure it is the same as ours.
- </ReactMarkdown>
- <h2>
- <Translate>Getting started</Translate>
- </h2>
- <div>
- <p>
- <Translate>
- Once you've downloaded a Pulsar release, instructions on getting
- up and running with a standalone cluster that you can run on
- your laptop can be found in the
- </Translate>
-
- <a
- href={`${siteConfig.baseUrl}docs/${language(props)}getting-started-standalone`}
- >
- <Translate>Run Pulsar locally</Translate>
- </a>{" "}
- <Translate>tutorial</Translate>.
- </p>
- </div>
- <p>
- <Translate>
- If you need to connect to an existing Pulsar server or cluster
- using an officially supported client, read the
- </Translate>
-
- <a
- href={`${siteConfig.baseUrl}docs/${language(props)}client-libraries`}
- >
- <Translate>client libraries docs</Translate>
- </a>{"."}
- </p>
- <h2 id="archive">
- <Translate>Older releases</Translate>
- </h2>
- <OldReleaseTable data={oldReleases}></OldReleaseTable>
- <header className="postHeader mt-12">
- <h1>
- <Translate>Pulsar C++ Client</Translate>
- </h1>
- <div>
- <p>The Link column contains C++ packages for various systems and architectures.</p>
- </div>
- <hr />
- </header>
- <ReleaseTable data={pulsarCppReleaseInfo}></ReleaseTable>
- <header className="postHeader mt-12">
- <h1>
- <Translate>Pulsar Adapters</Translate>
- </h1>
- <hr />
- </header>
- <h2 id="latest">
- <Translate>Current version (Stable)</Translate>{" "}
- {latestPulsarAdaptersVersion}
- </h2>
- <ReleaseTable data={stable}></ReleaseTable>
- <Translate>
- Pulsar Adapters are available on Maven Central, there is no binary
- package.
- </Translate>
- <header className="postHeader mt-12">
- <h1>
- <Translate>Apache Pulsar Manager downloads</Translate>
- </h1>
- <hr />
- </header>
- <h2>
- <Translate>Release notes</Translate>
- </h2>
- <div>
- <p>
- <a
- href={`${siteConfig.baseUrl}${language(
- props
- )}pulsar-manager-release-notes`}
- >
- Release notes
- </a>{" "}
- for all pulsar-manager's versions
- </p>
- </div>
- <h2 id="latest">
- <Translate>Current version (Stable)</Translate>{" "}
- {latestPulsarManagerVersion}
- </h2>
- <ReleaseTable data={apmStable}></ReleaseTable>
- <h2 id="pulsar-manager-archive">
- <Translate>Pulsar Manager older releases</Translate>
- </h2>
- <OldReleaseTable data={apmOldReleases}></OldReleaseTable>
- </div>
- </div>
- </Layout>
- );
-}
diff --git a/site2/website-next/src/pages/download.mdx b/site2/website-next/src/pages/download.mdx
new file mode 100644
index 00000000000..e2513d11019
--- /dev/null
+++ b/site2/website-next/src/pages/download.mdx
@@ -0,0 +1,78 @@
+---
+id: download
+title: Downloads
+description: Download Apache Pulsar artifacts
+hide_table_of_contents: true
+---
+
+import {
+ CurrentPulsarVersion,
+ CurrentPulsarManagerVersion,
+ CurrentPulsarAdapterVersion,
+ CurrentPulsarDownloadTable,
+ CurrentPulsarOffloadersDownloadTable,
+ CurrentPulsarConnectorsDownloadTable,
+ ArchivedPulsarDownloadTable,
+ CppReleasesDownloadTable,
+ CurrentPulsarAdapterDownloadTable,
+ CurrentPulsarManagerDownloadTable,
+ ArchivedPulsarManagerDownloadTable,
+} from '../components/downloads';
+
+# Downloads
+
+## Release notes
+
+[Release notes](pathname:///release-notes) for all Pulsar's versions.
+
+## Current version <CurrentPulsarVersion/>
+
+You can download all previous versions of Pulsar at [the archive page](https://archive.apache.org/dist/pulsar/).
+
+<CurrentPulsarDownloadTable/>
+
+### Offloaders
+
+You can download all previous versions of offloaders at [the archive page](https://archive.apache.org/dist/pulsar/).
+
+<CurrentPulsarOffloadersDownloadTable/>
+
+### Connectors
+
+You can download all previous versions of connectors at [the archive page](https://archive.apache.org/dist/pulsar/).
+
+<CurrentPulsarConnectorsDownloadTable/>
+
+## Release integrity
+
+You must [verify](https://www.apache.org/info/verification.html) the integrity of the downloaded files. We provide OpenPGP signatures for every release file. This signature should be matched against the [KEYS](https://downloads.apache.org/pulsar/KEYS) file which contains the OpenPGP keys of Pulsar's Release Managers. We also provide `SHA-512` checksums for every release file. After you download the file, you should calculate a checksum for your download, and make sure it is the same as ours.
+
+## Older releases
+
+<ArchivedPulsarDownloadTable/>
+
+# Pulsar C++ Client
+
+<CppReleasesDownloadTable/>
+
+# Pulsar Manager
+
+## Release notes
+
+[Release notes](pathname:///pulsar-manager-release-notes) for all Pulsar Manager's versions.
+
+## Current version <CurrentPulsarManagerVersion/>
+
+<CurrentPulsarManagerDownloadTable/>
+
+## Older releases
+
+<ArchivedPulsarManagerDownloadTable/>
+
+# Pulsar Adapter
+
+## Current version <CurrentPulsarAdapterVersion/>
+
+Pulsar Adapters are available on Maven Central, there is no binary package.
+
+<CurrentPulsarAdapterDownloadTable/>