You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by zr...@apache.org on 2020/11/02 20:36:19 UTC

[camel-website] 02/04: fix: configure relative links in Antora

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

zregvart pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit e01f8fa30da2be31541c2872f545f73f92adfc9c
Author: Zoran Regvart <zr...@apache.org>
AuthorDate: Mon Nov 2 19:45:46 2020 +0100

    fix: configure relative links in Antora
---
 .pnp.js             |  2 ++
 antora-playbook.yml |  2 +-
 package.json        |  3 ++-
 patch-sitemap.js    | 28 ++++++++++++++++++++++++++++
 yarn.lock           |  1 +
 5 files changed, 34 insertions(+), 2 deletions(-)

diff --git a/.pnp.js b/.pnp.js
index 2cfb294..ccccd36 100755
--- a/.pnp.js
+++ b/.pnp.js
@@ -49,6 +49,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
             ["@antora/document-converter", "npm:3.0.0-alpha.1"],
             ["@antora/playbook-builder", "npm:3.0.0-alpha.1"],
             ["@antora/site-generator-default", "npm:3.0.0-alpha.1"],
+            ["@antora/site-mapper", "npm:3.0.0-alpha.1"],
             ["@antora/xref-validator", "https://gitlab.com/antora/xref-validator.git#commit=19bfaf88fc7dd39552cfd8b3ac41c55d6d8f9edd"],
             ["@djencks/asciidoctor-antora-indexer", "npm:0.0.5"],
             ["antora-ui-camel", "workspace:antora-ui-camel"],
@@ -1438,6 +1439,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
             ["@antora/document-converter", "npm:3.0.0-alpha.1"],
             ["@antora/playbook-builder", "npm:3.0.0-alpha.1"],
             ["@antora/site-generator-default", "npm:3.0.0-alpha.1"],
+            ["@antora/site-mapper", "npm:3.0.0-alpha.1"],
             ["@antora/xref-validator", "https://gitlab.com/antora/xref-validator.git#commit=19bfaf88fc7dd39552cfd8b3ac41c55d6d8f9edd"],
             ["@djencks/asciidoctor-antora-indexer", "npm:0.0.5"],
             ["antora-ui-camel", "workspace:antora-ui-camel"],
diff --git a/antora-playbook.yml b/antora-playbook.yml
index 4f2a543..e4a357d 100644
--- a/antora-playbook.yml
+++ b/antora-playbook.yml
@@ -1,6 +1,6 @@
 site:
   title: Apache Camel
-  url: https://camel.apache.org
+  url: /
   start_page: latest@manual::index.adoc
 
 content:
diff --git a/package.json b/package.json
index e42f0a9..802dd5b 100644
--- a/package.json
+++ b/package.json
@@ -3,7 +3,7 @@
   "version": "1.0.0-SNAPSHOT",
   "license": "Apache-2.0",
   "scripts": {
-    "build:antora": "antora --clean --fetch antora-playbook.yml --stacktrace",
+    "build:antora": "antora --clean --fetch antora-playbook.yml --stacktrace --require ./patch-sitemap.js",
     "build:hugo": "hugo --cacheDir ${HUGO_CACHE_DIR:-$(pwd)/.hugo_data}",
     "build:minify": "gulp minify",
     "build:sitemap": "gulp sitemap",
@@ -26,6 +26,7 @@
     "@antora/document-converter": "^3.0.0-alpha.1",
     "@antora/playbook-builder": "^3.0.0-alpha.1",
     "@antora/site-generator-default": "^3.0.0-alpha.1",
+    "@antora/site-mapper": "3.0.0-alpha.1",
     "@antora/xref-validator": "https://gitlab.com/antora/xref-validator.git#commit=19bfaf88fc7dd39552cfd8b3ac41c55d6d8f9edd",
     "@djencks/asciidoctor-antora-indexer": "^0.0.5",
     "antora-ui-camel": "workspace:antora-ui-camel",
diff --git a/patch-sitemap.js b/patch-sitemap.js
new file mode 100644
index 0000000..83342a8
--- /dev/null
+++ b/patch-sitemap.js
@@ -0,0 +1,28 @@
+const v8 = require('v8');
+const buildPlaybook = require('@antora/playbook-builder');
+const mapSite = require('@antora/site-mapper');
+
+delete require.cache[require.resolve('@antora/playbook-builder')];
+delete require.cache[require.resolve('@antora/site-mapper')];
+
+const clone = (source) => v8.deserialize(v8.serialize(source));
+
+require.cache[require.resolve('@antora/playbook-builder')] = {
+  exports: (args = [], env = {}, schema = undefined) => {
+    const playbook = buildPlaybook(args, env, schema);
+    const patched = clone(playbook);
+    patched.changeSiteUrl = (url) => patched.site.url = url;
+    return Object.freeze(patched);
+  }
+}
+
+require.cache[require.resolve('@antora/site-mapper')] = {
+  exports: (playbook, pages) => {
+    playbook.changeSiteUrl('https://camel.apache.org');
+    try {
+      return mapSite(playbook, pages);
+    } finally {
+      playbook.changeSiteUrl('/');
+    }
+  }
+}
diff --git a/yarn.lock b/yarn.lock
index 94a858a..fed79ea 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1227,6 +1227,7 @@ __metadata:
     "@antora/document-converter": ^3.0.0-alpha.1
     "@antora/playbook-builder": ^3.0.0-alpha.1
     "@antora/site-generator-default": ^3.0.0-alpha.1
+    "@antora/site-mapper": 3.0.0-alpha.1
     "@antora/xref-validator": "https://gitlab.com/antora/xref-validator.git#commit=19bfaf88fc7dd39552cfd8b3ac41c55d6d8f9edd"
     "@djencks/asciidoctor-antora-indexer": ^0.0.5
     antora-ui-camel: "workspace:antora-ui-camel"