This is an automated email from the ASF dual-hosted git repository.

lhotari pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git


The following commit(s) were added to refs/heads/master by this push:
     new 6c8141e38f Fix download page after website framework upgrade to 
Docusaurus 3 (#4724)
6c8141e38f is described below

commit 6c8141e38f3825d8e022b9c1b042bda77487d158
Author: Lari Hotari <[email protected]>
AuthorDate: Wed Mar 11 15:41:53 2026 +0200

    Fix download page after website framework upgrade to Docusaurus 3 (#4724)
---
 site3/website/docusaurus.config.js                 | 28 ++----
 site3/website/package.json                         |  5 +-
 site3/website/scripts/build-website.sh             |  3 -
 site3/website/scripts/replace.js                   | 50 -----------
 .../src/pages/{releases.md => releases.mdx}        |  0
 .../version-4.17.3/overview/overview.md            |  2 +-
 site3/website/yarn.lock                            | 99 +---------------------
 7 files changed, 11 insertions(+), 176 deletions(-)

diff --git a/site3/website/docusaurus.config.js 
b/site3/website/docusaurus.config.js
index 78692406c4..478c76d48a 100644
--- a/site3/website/docusaurus.config.js
+++ b/site3/website/docusaurus.config.js
@@ -18,25 +18,7 @@ const variables = {
   archive_releases_base_url: deployUrl + "/archives",
 }
 
-/**
- * Remark plugin that replaces {{ site.xxx }} template variables in markdown.
- * Works on text nodes and link/image URLs in the AST.
- */
-function makeVariableReplacer(vars) {
-  const pattern = /\{\{site\.([\w]+)\}\}/g;
-  function replaceVars(str) {
-    return str.replace(pattern, (match, key) => {
-      return key in vars ? String(vars[key]) : match;
-    });
-  }
-  function visitNode(node) {
-    if (typeof node.value === 'string') node.value = replaceVars(node.value);
-    if (typeof node.url === 'string') node.url = replaceVars(node.url);
-    if (Array.isArray(node.children)) node.children.forEach(visitNode);
-  }
-  return () => (tree) => visitNode(tree);
-}
-const variableReplacer = makeVariableReplacer(variables);
+
 
 /** @type {import('@docusaurus/types').Config} */
 const config = {
@@ -53,6 +35,11 @@ const config = {
     hooks: {
       onBrokenMarkdownLinks: 'warn',
     },
+    preprocessor: ({fileContent}) => {
+      return fileContent.replace(/\{\{\s*site\.([\w]+)\s*\}\}/g, (match, key) 
=> {
+        return key in variables ? String(variables[key]) : match;
+      });
+    },
   },
 
   presets: [
@@ -63,14 +50,11 @@ const config = {
         docs: {
           sidebarPath: require.resolve('./sidebars.json'),
           breadcrumbs: false,
-          remarkPlugins: [variableReplacer],
         },
         blog: {
           showReadingTime: true,
-          remarkPlugins: [variableReplacer],
         },
         pages: {
-          remarkPlugins: [variableReplacer],
         },
         theme: {
           customCss: require.resolve('./src/sass/index.scss'),
diff --git a/site3/website/package.json b/site3/website/package.json
index e053f459c4..133bebe28e 100644
--- a/site3/website/package.json
+++ b/site3/website/package.json
@@ -5,7 +5,6 @@
   "scripts": {
     "docusaurus": "docusaurus",
     "start": "docusaurus start",
-    "replace-build": "node ./scripts/replace.js && docusaurus build",
     "build": "docusaurus build",
     "swizzle": "docusaurus swizzle",
     "deploy": "docusaurus deploy",
@@ -37,7 +36,5 @@
       "last 1 safari version"
     ]
   },
-  "devDependencies": {
-    "replace-in-file": "^6.3.2"
-  }
+  "devDependencies": {}
 }
diff --git a/site3/website/scripts/build-website.sh 
b/site3/website/scripts/build-website.sh
index 5a388bacc4..8729c645eb 100755
--- a/site3/website/scripts/build-website.sh
+++ b/site3/website/scripts/build-website.sh
@@ -8,9 +8,6 @@ cd $WEBSITE_DIR
 yarn install
 OUTPUT_DIR=$WEBSITE_DIR/build
 
-# Replace {{ site.xx }} variables
-node $SCRIPTS_DIR/replace.js
-
 # build the website to OUTPUT_DIR
 yarn build
 
diff --git a/site3/website/scripts/replace.js b/site3/website/scripts/replace.js
deleted file mode 100755
index d2deb368e4..0000000000
--- a/site3/website/scripts/replace.js
+++ /dev/null
@@ -1,50 +0,0 @@
-const replace = require("replace-in-file");
-const docusaurusConfig = require("../docusaurus.config")
-
-const CWD = process.cwd();
-const docsDir = `${CWD}/docs`;
-const versionedDocsDir = `${CWD}/versioned_docs`;
-const pagesDir = `${CWD}/src/pages`;
-
-function doReplace(options) {
-  replace(options)
-    .then((changes) => {
-      if (options.dry) {
-        console.log("Modified files:");
-        console.log(changes.join("\n"));
-      }
-    })
-    .catch((error) => {
-      console.error("Error occurred:", error);
-    });
-}
-
-variablesFrom = []
-variablesTo = []
-function addVariable(name, value) {
-  variablesFrom.push(new RegExp("{{\\s" + name + "\\s}}", "g"))
-  variablesTo.push(value)
-
-  variablesFrom.push(new RegExp("{{\\s" + name + "}}", "g"))
-  variablesTo.push(value)
-
-  variablesFrom.push(new RegExp("{{" + name + "\\s}}", "g"))
-  variablesTo.push(value)
-
-  variablesFrom.push(new RegExp("{{" + name + "}}", "g"))
-  variablesTo.push(value)
-  
-}
-
-for (const fieldKey in docusaurusConfig.customFields) {
-  addVariable("site." + fieldKey, docusaurusConfig.customFields[fieldKey])
-}
-
-const options = {
-  files: [`${docsDir}/**/*.md`, `${versionedDocsDir}/**/*.md`, 
`${pagesDir}/*.md`, `${pagesDir}/**/*.md` ],
-  from: variablesFrom,
-  to: variablesTo,
-  dry: false
-};
-
-doReplace(options);
diff --git a/site3/website/src/pages/releases.md 
b/site3/website/src/pages/releases.mdx
similarity index 100%
rename from site3/website/src/pages/releases.md
rename to site3/website/src/pages/releases.mdx
diff --git a/site3/website/versioned_docs/version-4.17.3/overview/overview.md 
b/site3/website/versioned_docs/version-4.17.3/overview/overview.md
index 62b746f5a4..f41f4da538 100644
--- a/site3/website/versioned_docs/version-4.17.3/overview/overview.md
+++ b/site3/website/versioned_docs/version-4.17.3/overview/overview.md
@@ -39,7 +39,7 @@ 
Object/[BLOB](https://en.wikipedia.org/wiki/Binary_large_object) storage | Stori
 
 Learn more about Apache BookKeeper&trade; and what it can do for your 
organization:
 
-- [Apache BookKeeper 4.17.3 Release Notes](/release-notes#4164)
+- [Apache BookKeeper 4.17.3 Release Notes](/release-notes#4173)
 - [Java API docs]({{site.javadoc_base_url}})
 
 Or start [using](../getting-started/installation) Apache BookKeeper today.
diff --git a/site3/website/yarn.lock b/site3/website/yarn.lock
index d9bcd1ab03..880e898aa3 100644
--- a/site3/website/yarn.lock
+++ b/site3/website/yarn.lock
@@ -3720,15 +3720,6 @@ cli-table3@^0.6.3:
   optionalDependencies:
     "@colors/colors" "1.5.0"
 
-cliui@^8.0.1:
-  version "8.0.1"
-  resolved 
"https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa";
-  integrity 
sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==
-  dependencies:
-    string-width "^4.2.0"
-    strip-ansi "^6.0.1"
-    wrap-ansi "^7.0.0"
-
 clone-deep@^4.0.1:
   version "4.0.1"
   resolved 
"https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387";
@@ -4865,11 +4856,6 @@ fs-extra@^11.1.1, fs-extra@^11.2.0:
     jsonfile "^6.0.1"
     universalify "^2.0.0"
 
-fs.realpath@^1.0.0:
-  version "1.0.0"
-  resolved 
"https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f";
-  integrity 
sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
-
 fsevents@~2.3.2:
   version "2.3.3"
   resolved 
"https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6";
@@ -4885,11 +4871,6 @@ gensync@^1.0.0-beta.2:
   resolved 
"https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0";
   integrity 
sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
 
-get-caller-file@^2.0.5:
-  version "2.0.5"
-  resolved 
"https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e";
-  integrity 
sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
-
 get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.3.0:
   version "1.3.0"
   resolved 
"https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01";
@@ -4953,18 +4934,6 @@ glob-to-regexp@^0.4.1:
   resolved 
"https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e";
   integrity 
sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
 
-glob@^7.2.0:
-  version "7.2.3"
-  resolved 
"https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b";
-  integrity 
sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
-  dependencies:
-    fs.realpath "^1.0.0"
-    inflight "^1.0.4"
-    inherits "2"
-    minimatch "^3.1.1"
-    once "^1.3.0"
-    path-is-absolute "^1.0.0"
-
 global-dirs@^3.0.0:
   version "3.0.1"
   resolved 
"https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.1.tgz#0c488971f066baceda21447aecb1a8b911d22485";
@@ -5428,15 +5397,7 @@ [email protected]:
   resolved 
"https://registry.yarnpkg.com/infima/-/infima-0.2.0-alpha.45.tgz#542aab5a249274d81679631b492973dd2c1e7466";
   integrity 
sha512-uyH0zfr1erU1OohLk0fT4Rrb94AOhguWNOcD9uGrSpRvNB+6gZXUoJX5J0NtvzBO10YZ9PgvA4NFgt+fYg8ojw==
 
-inflight@^1.0.4:
-  version "1.0.6"
-  resolved 
"https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9";
-  integrity 
sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
-  dependencies:
-    once "^1.3.0"
-    wrappy "1"
-
-inherits@2, [email protected], inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3, 
inherits@~2.0.4:
[email protected], inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3, 
inherits@~2.0.4:
   version "2.0.4"
   resolved 
"https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c";
   integrity 
sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
@@ -6683,7 +6644,7 @@ minimalistic-assert@^1.0.0:
   resolved 
"https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7";
   integrity 
sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
 
[email protected], minimatch@^3.1.1:
[email protected]:
   version "3.1.5"
   resolved 
"https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.5.tgz#580c88f8d5445f2bd6aa8f3cadefa0de79fbd69e";
   integrity 
sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==
@@ -6847,13 +6808,6 @@ on-headers@~1.1.0:
   resolved 
"https://registry.yarnpkg.com/on-headers/-/on-headers-1.1.0.tgz#59da4f91c45f5f989c6e4bcedc5a3b0aed70ff65";
   integrity 
sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==
 
-once@^1.3.0:
-  version "1.4.0"
-  resolved 
"https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1";
-  integrity 
sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
-  dependencies:
-    wrappy "1"
-
 onetime@^5.1.2:
   version "5.1.2"
   resolved 
"https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e";
@@ -7026,11 +6980,6 @@ path-exists@^5.0.0:
   resolved 
"https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7";
   integrity 
sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==
 
-path-is-absolute@^1.0.0:
-  version "1.0.1"
-  resolved 
"https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
-  integrity 
sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
-
 [email protected]:
   version "1.0.2"
   resolved 
"https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53";
@@ -8149,20 +8098,6 @@ repeat-string@^1.0.0:
   resolved 
"https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637";
   integrity 
sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==
 
-replace-in-file@^6.3.2:
-  version "6.3.5"
-  resolved 
"https://registry.yarnpkg.com/replace-in-file/-/replace-in-file-6.3.5.tgz#ff956b0ab5bc96613207d603d197cd209400a654";
-  integrity 
sha512-arB9d3ENdKva2fxRnSjwBEXfK1npgyci7ZZuwysgAp7ORjHSyxz6oqIjTEv8R0Ydl4Ll7uOAZXL4vbkhGIizCg==
-  dependencies:
-    chalk "^4.1.2"
-    glob "^7.2.0"
-    yargs "^17.2.1"
-
-require-directory@^2.1.1:
-  version "2.1.1"
-  resolved 
"https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42";
-  integrity 
sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
-
 require-from-string@^2.0.2:
   version "2.0.2"
   resolved 
"https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909";
@@ -8640,7 +8575,7 @@ std-env@^3.7.0:
   resolved 
"https://registry.yarnpkg.com/std-env/-/std-env-3.10.0.tgz#d810b27e3a073047b2b5e40034881f5ea6f9c83b";
   integrity 
sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==
 
-string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
+string-width@^4.1.0, string-width@^4.2.0:
   version "4.2.3"
   resolved 
"https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010";
   integrity 
sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
@@ -9325,11 +9260,6 @@ wrap-ansi@^8.0.1, wrap-ansi@^8.1.0:
     string-width "^5.0.1"
     strip-ansi "^7.0.1"
 
-wrappy@1:
-  version "1.0.2"
-  resolved 
"https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
-  integrity 
sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
-
 write-file-atomic@^3.0.3:
   version "3.0.3"
   resolved 
"https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8";
@@ -9369,34 +9299,11 @@ xml-js@^1.6.11:
   dependencies:
     sax "^1.2.4"
 
-y18n@^5.0.5:
-  version "5.0.8"
-  resolved 
"https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55";
-  integrity 
sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
-
 yallist@^3.0.2:
   version "3.1.1"
   resolved 
"https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd";
   integrity 
sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
 
-yargs-parser@^21.1.1:
-  version "21.1.1"
-  resolved 
"https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35";
-  integrity 
sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
-
-yargs@^17.2.1:
-  version "17.7.2"
-  resolved 
"https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269";
-  integrity 
sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==
-  dependencies:
-    cliui "^8.0.1"
-    escalade "^3.1.1"
-    get-caller-file "^2.0.5"
-    require-directory "^2.1.1"
-    string-width "^4.2.3"
-    y18n "^5.0.5"
-    yargs-parser "^21.1.1"
-
 yocto-queue@^1.0.0:
   version "1.2.2"
   resolved 
"https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.2.2.tgz#3e09c95d3f1aa89a58c114c99223edf639152c00";

Reply via email to