This is an automated email from the ASF dual-hosted git repository. urfree pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/pulsar-site.git
commit adf965b701847372599ff5aaea7b27e30650896b Author: LiLi <[email protected]> AuthorDate: Mon Jan 24 17:26:37 2022 +0800 update Signed-off-by: LiLi <[email protected]> --- site2/website-next/package.json | 2 +- site2/website-next/src/components/CLI.js | 19 ++++++--- site2/website-next/src/components/RestApi.js | 64 +++++++++++++++++++--------- site2/website-next/src/theme/Navbar/index.js | 51 ++++++++-------------- site2/website-next/src/utils/index.js | 26 +++++++++++ site2/website-next/versions.json | 29 +------------ 6 files changed, 102 insertions(+), 89 deletions(-) diff --git a/site2/website-next/package.json b/site2/website-next/package.json index f6fd558..947beea 100644 --- a/site2/website-next/package.json +++ b/site2/website-next/package.json @@ -4,7 +4,7 @@ "private": true, "scripts": { "docusaurus": "docusaurus", - "start": "NODE_OPTIONS=--max_old_space_size=8192 docusaurus start", + "start": "NODE_OPTIONS=--max_old_space_size=8192 node scripts/split-swagger-by-version.js && docusaurus start", "build": "NODE_OPTIONS=--max_old_space_size=8192 docusaurus build", "preview": "npm run build && git checkout . && sh scripts/docker.sh", "swizzle": "docusaurus swizzle", diff --git a/site2/website-next/src/components/CLI.js b/site2/website-next/src/components/CLI.js index 6bca478..5c25245 100644 --- a/site2/website-next/src/components/CLI.js +++ b/site2/website-next/src/components/CLI.js @@ -1,21 +1,29 @@ const React = require("react"); import Layout from "@theme/Layout"; const versionList = require("../../versions.json"); +import { setVersion, getVersion, getApiVersion } from "../utils/index.js"; + +function parseVersion() {} class CLI extends React.Component { componentDidMount() { + let version = getVersion(); + let params = window.location.search; let latestVersion = versionList[0]; let clientModule = this.props.module || "pulsar-admin"; params = params.replace("?", ""); const paramsList = params.split("&"); - let version = "master"; - for (let i in paramsList) { - let param = paramsList[i].split("="); - if (param[0] === "version") { - version = param[1]; + + if (paramsList && paramsList.length > 0) { + for (let i in paramsList) { + let param = paramsList[i].split("="); + if (param[0] === "version") { + version = param[1]; + } } } + if (version === "master") { let latestVersionSplit = latestVersion.split("."); version = @@ -24,6 +32,7 @@ class CLI extends React.Component { (parseInt(latestVersionSplit[1]) + 1) + ".0"; } + let versions = version.split("."); let majorVersion = parseInt(versions[0]); let minorVersion = parseInt(versions[1]); diff --git a/site2/website-next/src/components/RestApi.js b/site2/website-next/src/components/RestApi.js index 01513cc..ee5c190 100644 --- a/site2/website-next/src/components/RestApi.js +++ b/site2/website-next/src/components/RestApi.js @@ -1,31 +1,53 @@ const React = require("react"); import Layout from "@theme/Layout"; +import { setVersion, getVersion, getApiVersion } from "../utils/index.js"; + +function parseVersion() { + let swagger = "swagger"; + if (pathName.indexOf("functions") > -1) { + swagger = "swaggerfunctions"; + } else if (pathName.indexOf("source") > -1) { + swagger = "swaggersource"; + } else if (pathName.indexOf("sink") > -1) { + swagger = "swaggersink"; + } else if (pathName.indexOf("packages") > -1) { + swagger = "swaggerpackages"; + } + let version = getVersion(); + let apiversion = getApiVersion(swagger); + + if (version !== "master") { + var versions = version.split("."); + var majorVersion = parseInt(versions[0]); + var minorVersion = parseInt(versions[1]); + if (majorVersion < 2) { + version = "2.3.0"; + } else if (minorVersion < 3) { + version = "2.3.0"; + } + } + + return [version, apiversion]; +} class RestApi extends React.Component { componentDidMount() { - var params = window.location.search; + let [version, apiversion] = parseVersion(); + var pathName = window.location.pathname; + var params = window.location.search; params = params.replace("?", ""); const paramsList = params.split("&"); - var version = "master"; - var apiversion = ""; - for (var i in paramsList) { - var param = paramsList[i].split("="); - if (param[0] === "version") { - version = param[1]; - } - if (param[0] === "apiversion") { - apiversion = param[1]; - } - } - - if (version !== "master") { - var versions = version.split("."); - var majorVersion = parseInt(versions[0]); - var minorVersion = parseInt(versions[1]); - if (majorVersion < 2) { - version = "2.3.0"; - } else if (minorVersion < 3) { - version = "2.3.0"; + if (paramsList && paramsList.length > 0) { + var version = "master"; + var apiversion = ""; + for (var i in paramsList) { + var param = paramsList[i].split("="); + if (param[0] === "version") { + version = param[1]; + } + if (param[0] === "apiversion") { + apiversion = param[1]; + } } } diff --git a/site2/website-next/src/theme/Navbar/index.js b/site2/website-next/src/theme/Navbar/index.js index 8f02543..6d0fe16 100644 --- a/site2/website-next/src/theme/Navbar/index.js +++ b/site2/website-next/src/theme/Navbar/index.js @@ -25,34 +25,9 @@ import Logo from "@theme/Logo"; import IconMenu from "@theme/IconMenu"; import IconClose from "@theme/IconClose"; import styles from "./styles.module.css"; // retrocompatible with v1 -import { docUrl, getCache } from "../../utils/index.js"; +import { setVersion, getVersion, getApiVersion } from "../../utils/index.js"; const DefaultNavItemPosition = "right"; -const versions = require("../../../versions.json"); -const restApiVersions = require("../../../static/swagger/restApiVersions.json"); -const latestStableVersion = versions[0]; - -function setVersion(version) { - getCache().setItem("version", version == "next" ? "master" : version); -} - -function getVersion() { - if (!getCache()) { - return latestStableVersion; - } - return getCache().getItem("version") || latestStableVersion; -} - -function getApiVersion(anchor) { - let version = getVersion(); - let apiVersion = ""; - if (restApiVersions[version][0]["fileName"].indexOf(anchor) == 0) { - apiVersion = restApiVersions[version][0]["version"]; - } else { - apiVersion = restApiVersions[version][1]["version"]; - } - return apiVersion; -} function getLauguage() { return ""; @@ -244,7 +219,14 @@ function NavbarMobileSidebar({ sidebarShown, toggleSidebar }) { }); } return ( - <NavbarItem mobile {...item} onClick={toggleSidebar} key={i} /> + <NavbarItem + mobile + {...item} + onClick={(item) => { + toggleSidebar(item); + }} + key={i} + /> ); })} </ul> @@ -334,19 +316,20 @@ function Navbar() { } return { ...e, - link: - e.to + - "?version=" + - getVersion() + - "&apiversion=" + - getApiVersion(param), + link: e.to, + // + + // "?version=" + + // getVersion() + + // "&apiversion=" + + // getApiVersion(param), }; }); } else if (item.label == "CLI") { item.items = item.items.map((e) => { return { ...e, - link: e.to + "?version=" + getVersion(), + link: e.to, + // + "?version=" + getVersion(), }; }); } else if (item.label == "Community") { diff --git a/site2/website-next/src/utils/index.js b/site2/website-next/src/utils/index.js index 6c964b5..c8b7321 100644 --- a/site2/website-next/src/utils/index.js +++ b/site2/website-next/src/utils/index.js @@ -2,6 +2,10 @@ const users = require(`../../data/users.js`); const featuredUsers = users.filter((x) => x.hasOwnProperty("featured")); featuredUsers.sort((a, b) => (a.featured > b.featured ? 1 : -1)); +const versions = require("../../versions.json"); +const restApiVersions = require("../../static/swagger/restApiVersions.json"); +const latestStableVersion = versions[0]; + const siteConfig = require(`../../docusaurus.config.js`); export function imgUrl(img) { @@ -33,3 +37,25 @@ export function getCache() { } return windowGlobal.localStorage; } + +export function setVersion(version) { + getCache().setItem("version", version == "next" ? "master" : version); +} + +export function getVersion() { + if (!getCache()) { + return latestStableVersion; + } + return getCache().getItem("version") || latestStableVersion; +} + +export function getApiVersion(anchor) { + let version = getVersion(); + let apiVersion = ""; + if (restApiVersions[version][0]["fileName"].indexOf(anchor) == 0) { + apiVersion = restApiVersions[version][0]["version"]; + } else { + apiVersion = restApiVersions[version][1]["version"]; + } + return apiVersion; +} diff --git a/site2/website-next/versions.json b/site2/website-next/versions.json index 5ba060d..f829e1e 100644 --- a/site2/website-next/versions.json +++ b/site2/website-next/versions.json @@ -1,28 +1 @@ -[ - "2.9.1", - "2.9.0", - "2.8.2", - "2.8.1", - "2.8.0", - "2.7.3", - "2.7.2", - "2.7.1", - "2.7.0", - "2.6.4", - "2.6.3", - "2.6.2", - "2.6.1", - "2.6.0", - "2.5.2", - "2.5.1", - "2.5.0", - "2.4.2", - "2.4.1", - "2.4.0", - "2.3.2", - "2.3.1", - "2.3.0", - "2.2.1", - "2.2.0", - "2.1.1-incubating" -] +["2.9.1"]
