You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by ur...@apache.org on 2022/09/05 12:47:32 UTC
[pulsar-site] 01/01: docs version quick switch
This is an automated email from the ASF dual-hosted git repository.
urfree pushed a commit to branch quick-versions-switch-2
in repository https://gitbox.apache.org/repos/asf/pulsar-site.git
commit e442be035268014da043e027dc6b62f9250de0bb
Author: Li Li <ur...@apache.org>
AuthorDate: Mon Sep 5 20:47:20 2022 +0800
docs version quick switch
Signed-off-by: Li Li <ur...@apache.org>
---
.../src/theme/DocsVersionDropdownNavbarItem.js | 60 +++++++++++++---------
1 file changed, 35 insertions(+), 25 deletions(-)
diff --git a/site2/website-next/src/theme/DocsVersionDropdownNavbarItem.js b/site2/website-next/src/theme/DocsVersionDropdownNavbarItem.js
index 5c20c90ba3d..a0fc0dac6d1 100644
--- a/site2/website-next/src/theme/DocsVersionDropdownNavbarItem.js
+++ b/site2/website-next/src/theme/DocsVersionDropdownNavbarItem.js
@@ -14,17 +14,24 @@ import {
} from "@docusaurus/plugin-content-docs/client";
import { useDocsPreferredVersion } from "@docusaurus/theme-common";
import { translate } from "@docusaurus/Translate";
-// let versions = require("../../versions.json");
-// const _latestVersion = versions[0];
-// versions = [{ name: "current", label: "Master", path: "/docs/next" }].concat(
-// versions.map((item) => {
-// return {
-// label: item,
-// name: item,
-// path: item == _latestVersion ? "/docs" : "/docs/" + item,
-// };
-// })
-// );
+let versions = require("../../versions.json");
+const _latestVersion = versions[0];
+versions = [{ name: "current", label: "Master", path: "/docs/next" }]
+ .concat(
+ versions.map((item) => {
+ return {
+ label: item,
+ name: item,
+ path: item == _latestVersion ? "/docs" : "/docs/" + item,
+ };
+ })
+ )
+ .slice(0, 5)
+ .concat({
+ name: "others",
+ label: "Other",
+ path: "/versions",
+ });
const getVersionMainDoc = (version) =>
version.docs.find((doc) => doc.id === version.mainDocId);
@@ -38,33 +45,36 @@ export default function DocsVersionDropdownNavbarItem({
...props
}) {
const activeDocContext = useActiveDocContext(docsPluginId);
- // const _versions = useVersions(docsPluginId);
+ const _versions = useVersions(docsPluginId);
const latestVersion = useLatestVersion(docsPluginId);
const { preferredVersion, savePreferredVersionName } =
useDocsPreferredVersion(docsPluginId);
- const versions = [
- activeDocContext.activeVersion,
- {
- name: "others",
- label: "Other",
- path: "/versions",
- },
- ];
function getItems() {
const versionLinks = versions.map((version) => {
// We try to link to the same doc, in another version
// When not possible, fallback to the "main doc" of the version
- const versionDoc = activeDocContext?.alternateDocVersions[
- version.name
- ] || { path: "/docs/" + version.name + "/about" };
- // getVersionMainDoc(version);
+ const _version =
+ version.name == _latestVersion
+ ? ""
+ : version.name == "current"
+ ? "next/"
+ : version.name + "/";
+ const _docId =
+ activeDocContext.activeDoc.id == "about"
+ ? ""
+ : activeDocContext.activeDoc.id;
+ const versionDoc = {
+ path: "/docs/" + _version + _docId,
+ };
return {
isNavLink: true,
label: version.label,
to: version.name == "others" ? "/versions" : versionDoc.path,
- isActive: () => version.name === activeDocContext?.activeVersion.name,
+ isActive: () => version.name === activeDocContext.activeVersion.name,
onClick: () => {
savePreferredVersionName(version.name);
+ window.location.href =
+ version.name == "others" ? "/versions" : versionDoc.path;
},
};
});