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

github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/arrow-adbc.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new b462a94cd publish documentation
b462a94cd is described below

commit b462a94cddabf806fc82ccd61f39ea903677e86c
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Mon May 26 13:10:45 2025 +0000

    publish documentation
---
 main/_static/version.js                            | 145 +++++++++++++++------
 main/r/adbcbigquery/pkgdown.yml                    |   2 +-
 main/r/adbcdrivermanager/pkgdown.yml               |   2 +-
 .../reference/adbc_connection_init.html            |   4 +-
 .../reference/adbc_database_init.html              |   2 +-
 .../reference/adbc_statement_init.html             |   6 +-
 main/r/adbcdrivermanager/search.json               |   2 +-
 main/r/adbcflightsql/pkgdown.yml                   |   2 +-
 main/r/adbcpostgresql/pkgdown.yml                  |   2 +-
 main/r/adbcsnowflake/pkgdown.yml                   |   2 +-
 main/r/adbcsqlite/pkgdown.yml                      |   2 +-
 version.js                                         | 145 +++++++++++++++------
 12 files changed, 227 insertions(+), 89 deletions(-)

diff --git a/main/_static/version.js b/main/_static/version.js
index 88efda507..9fe0ad073 100644
--- a/main/_static/version.js
+++ b/main/_static/version.js
@@ -30,48 +30,117 @@ function adbcInjectVersionSwitcher() {
     // path;version\npath2;version2;\n...
     // Versions are sorted at generation time
 
-    versions
-        .trim()
-        .split(/\n/g)
-        .map((version) => version.split(/;/))
-        // Most recent on top
-        .reverse()
-        .forEach((version) => {
-            const el = document.createElement("a");
-            // Variable injected by template
-            el.setAttribute("href", versionsRoot + "/" + version[0]);
-            el.innerText = version[1];
-            if (version[1] === currentVersion) {
-                el.classList.toggle("active");
-            }
-            const li = document.createElement("li");
-            li.appendChild(el);
-            root.appendChild(li);
+    const parsedVersions = versions
+          .trim()
+          .split(/\n/g)
+          .map((version) => version.split(/;/))
+    // Most recent on top
+          .reverse();
+    parsedVersions.forEach((version) => {
+        const el = document.createElement("a");
+        // Variable injected by template
+        el.setAttribute("href", versionsRoot + "/" + version[0]);
+        el.innerText = version[1];
+        if (version[1] === currentVersion) {
+            el.classList.toggle("active");
+        }
+        const li = document.createElement("li");
+        li.appendChild(el);
+        root.appendChild(li);
 
-            el.addEventListener("click", (e) => {
-                e.preventDefault();
-                try {
-                    let relativePart = window.location.pathname.replace(/^\//, 
"");
-                    // Remove the adbc/ prefix
-                    relativePart = relativePart.replace(/^adbc[^\/]+\//, "");
-                    // Remove the version number
-                    relativePart = relativePart.replace(/^[^\/]+\//, "");
-                    const newUrl = 
`${el.getAttribute("href")}/${relativePart}`;
-                    window.fetch(newUrl).then((resp) => {
-                        if (resp.status === 200) {
-                            window.location.href = newUrl;
-                        } else {
-                            window.location.href = el.getAttribute("href");
-                        }
-                    }, () => {
+        el.addEventListener("click", (e) => {
+            e.preventDefault();
+            try {
+                let relativePart = window.location.pathname.replace(/^\//, "");
+                // Remove the adbc/ prefix
+                relativePart = relativePart.replace(/^adbc[^\/]+\//, "");
+                // Remove the version number
+                relativePart = relativePart.replace(/^[^\/]+\//, "");
+                const newUrl = `${el.getAttribute("href")}/${relativePart}`;
+                window.fetch(newUrl).then((resp) => {
+                    if (resp.status === 200) {
+                        window.location.href = newUrl;
+                    } else {
                         window.location.href = el.getAttribute("href");
-                    });
-                } catch (e) {
+                    }
+                }, () => {
                     window.location.href = el.getAttribute("href");
-                }
-                return false;
-            });
+                });
+            } catch (e) {
+                window.location.href = el.getAttribute("href");
+            }
+            return false;
+        });
+    });
+
+    // Inject a banner warning if the user is looking at older/development
+    // version documentation
+
+    // If the user has dismissed the popup, don't show it again
+    const storageKey = "adbc-ignored-version-warnings";
+    const ignoreVersionWarnings = new Set();
+    try {
+        const savedVersions = JSON.parse(window.localStorage[storageKey]);
+        for (const version of savedVersions) {
+            ignoreVersionWarnings.add(version);
+        }
+    } catch (e) {
+        // ignore
+    }
+
+    if (ignoreVersionWarnings.has(currentVersion)) {
+        return;
+    }
+
+    let warningBanner = null;
+    const redirectUrl = `${versionsRoot}/current`;
+    let redirectText = null;
+    if (currentVersion.endsWith(" (dev)")) {
+        warningBanner = "This is documentation for an unstable development 
version.";
+        redirectText = "Switch to stable version";
+    } else {
+        const stableVersions = parsedVersions
+              .filter(v => v[0] === "current");
+        if (stableVersions.length > 0) {
+            const stableVersion = stableVersions[0][1].match(/^(.+) 
\(current\)/)[1];
+            if (currentVersion !== stableVersion) {
+                warningBanner = `This is documentation for version 
${currentVersion}.`;
+                redirectText = `Switch to current stable version`;
+            }
+        }
+    }
+
+    if (warningBanner !== null) {
+        // Generate on the fly instead of depending on the template containing
+        // the right elements/styles
+        const container = document.createElement("div");
+        const text = document.createElement("span");
+        text.innerText = warningBanner + " ";
+        const button = document.createElement("a");
+        button.setAttribute("href", redirectUrl);
+        button.innerText = redirectText;
+        const hide = document.createElement("a");
+        hide.innerText = "Hide for this version";
+        const spacer = document.createTextNode(" ");
+        container.appendChild(text);
+        container.appendChild(button);
+        container.appendChild(spacer);
+        container.appendChild(hide);
+
+        hide.addEventListener("click", (e) => {
+            container.remove();
+            ignoreVersionWarnings.add(currentVersion);
+            window.localStorage[storageKey] =
+                JSON.stringify(Array.from(ignoreVersionWarnings));
         });
+
+        container.style.background = "#f8d7da";
+        container.style.color = "#000";
+        container.style.padding = "1em";
+        container.style.textAlign = "center";
+
+        document.body.prepend(container);
+    }
 };
 
 if (document.readyState !== "loading") {
diff --git a/main/r/adbcbigquery/pkgdown.yml b/main/r/adbcbigquery/pkgdown.yml
index 635547538..6034f01cd 100644
--- a/main/r/adbcbigquery/pkgdown.yml
+++ b/main/r/adbcbigquery/pkgdown.yml
@@ -2,7 +2,7 @@ pandoc: 3.7.0.1
 pkgdown: 2.1.3
 pkgdown_sha: ~
 articles: {}
-last_built: 2025-05-26T09:52Z
+last_built: 2025-05-26T13:10Z
 urls:
   reference: https://arrow.apache.org/adbc/current/r/adbcbigquery/reference
   article: https://arrow.apache.org/adbc/current/r/adbcbigquery/articles
diff --git a/main/r/adbcdrivermanager/pkgdown.yml 
b/main/r/adbcdrivermanager/pkgdown.yml
index 847392d1e..a818710bd 100644
--- a/main/r/adbcdrivermanager/pkgdown.yml
+++ b/main/r/adbcdrivermanager/pkgdown.yml
@@ -2,7 +2,7 @@ pandoc: 3.7.0.1
 pkgdown: 2.1.3
 pkgdown_sha: ~
 articles: {}
-last_built: 2025-05-26T09:52Z
+last_built: 2025-05-26T13:09Z
 urls:
   reference: 
https://arrow.apache.org/adbc/current/r/adbcdrivermanager/reference
   article: https://arrow.apache.org/adbc/current/r/adbcdrivermanager/articles
diff --git a/main/r/adbcdrivermanager/reference/adbc_connection_init.html 
b/main/r/adbcdrivermanager/reference/adbc_connection_init.html
index 496462f38..09ca8bed3 100644
--- a/main/r/adbcdrivermanager/reference/adbc_connection_init.html
+++ b/main/r/adbcdrivermanager/reference/adbc_connection_init.html
@@ -105,9 +105,9 @@ finer-grained control over behaviour at the R 
level.</p></dd>
     <h2 id="ref-examples">Examples<a class="anchor" aria-label="anchor" 
href="#ref-examples"></a></h2>
     <div class="sourceCode"><pre class="sourceCode r"><code><span 
class="r-in"><span><span class="va">db</span> <span class="op">&lt;-</span> 
<span class="fu"><a 
href="adbc_database_init.html">adbc_database_init</a></span><span 
class="op">(</span><span class="fu"><a 
href="adbc_driver_void.html">adbc_driver_void</a></span><span 
class="op">(</span><span class="op">)</span><span 
class="op">)</span></span></span>
 <span class="r-in"><span><span class="fu">adbc_connection_init</span><span 
class="op">(</span><span class="va">db</span><span 
class="op">)</span></span></span>
-<span class="r-out co"><span class="r-pr">#&gt;</span> &lt;adbc_connection at 
0x5585c9cf4850&gt; </span>
+<span class="r-out co"><span class="r-pr">#&gt;</span> &lt;adbc_connection at 
0x5644b16d7f70&gt; </span>
 <span class="r-out co"><span class="r-pr">#&gt;</span> List of 1</span>
-<span class="r-out co"><span class="r-pr">#&gt;</span>  $ 
database:&lt;adbc_database at 0x5585c91d04a0&gt; </span>
+<span class="r-out co"><span class="r-pr">#&gt;</span>  $ 
database:&lt;adbc_database at 0x5644b16a78b0&gt; </span>
 <span class="r-out co"><span class="r-pr">#&gt;</span> List of 1</span>
 <span class="r-out co"><span class="r-pr">#&gt;</span>   ..$ 
driver:&lt;adbc_driver_void&gt; List of 2</span>
 <span class="r-out co"><span class="r-pr">#&gt;</span>   .. ..$ 
driver_init_func:Class 'adbc_driver_init_func' &lt;externalptr&gt; </span>
diff --git a/main/r/adbcdrivermanager/reference/adbc_database_init.html 
b/main/r/adbcdrivermanager/reference/adbc_database_init.html
index b22ed066f..f11763da1 100644
--- a/main/r/adbcdrivermanager/reference/adbc_database_init.html
+++ b/main/r/adbcdrivermanager/reference/adbc_database_init.html
@@ -104,7 +104,7 @@ finer-grained control over behaviour at the R 
level.</p></dd>
     <div class="section level2">
     <h2 id="ref-examples">Examples<a class="anchor" aria-label="anchor" 
href="#ref-examples"></a></h2>
     <div class="sourceCode"><pre class="sourceCode r"><code><span 
class="r-in"><span><span class="fu">adbc_database_init</span><span 
class="op">(</span><span class="fu"><a 
href="adbc_driver_void.html">adbc_driver_void</a></span><span 
class="op">(</span><span class="op">)</span><span 
class="op">)</span></span></span>
-<span class="r-out co"><span class="r-pr">#&gt;</span> &lt;adbc_database at 
0x5585c9100940&gt; </span>
+<span class="r-out co"><span class="r-pr">#&gt;</span> &lt;adbc_database at 
0x5644b111b0a0&gt; </span>
 <span class="r-out co"><span class="r-pr">#&gt;</span> List of 1</span>
 <span class="r-out co"><span class="r-pr">#&gt;</span>  $ 
driver:&lt;adbc_driver_void&gt; List of 2</span>
 <span class="r-out co"><span class="r-pr">#&gt;</span>   ..$ 
driver_init_func:Class 'adbc_driver_init_func' &lt;externalptr&gt; </span>
diff --git a/main/r/adbcdrivermanager/reference/adbc_statement_init.html 
b/main/r/adbcdrivermanager/reference/adbc_statement_init.html
index 34739ba57..a46b81e46 100644
--- a/main/r/adbcdrivermanager/reference/adbc_statement_init.html
+++ b/main/r/adbcdrivermanager/reference/adbc_statement_init.html
@@ -106,11 +106,11 @@ finer-grained control over behaviour at the R 
level.</p></dd>
     <div class="sourceCode"><pre class="sourceCode r"><code><span 
class="r-in"><span><span class="va">db</span> <span class="op">&lt;-</span> 
<span class="fu"><a 
href="adbc_database_init.html">adbc_database_init</a></span><span 
class="op">(</span><span class="fu"><a 
href="adbc_driver_void.html">adbc_driver_void</a></span><span 
class="op">(</span><span class="op">)</span><span 
class="op">)</span></span></span>
 <span class="r-in"><span><span class="va">con</span> <span 
class="op">&lt;-</span> <span class="fu"><a 
href="adbc_connection_init.html">adbc_connection_init</a></span><span 
class="op">(</span><span class="va">db</span><span 
class="op">)</span></span></span>
 <span class="r-in"><span><span class="fu">adbc_statement_init</span><span 
class="op">(</span><span class="va">con</span><span 
class="op">)</span></span></span>
-<span class="r-out co"><span class="r-pr">#&gt;</span> &lt;adbc_statement at 
0x5585c91e50d0&gt; </span>
+<span class="r-out co"><span class="r-pr">#&gt;</span> &lt;adbc_statement at 
0x5644b16bdab0&gt; </span>
 <span class="r-out co"><span class="r-pr">#&gt;</span> List of 1</span>
-<span class="r-out co"><span class="r-pr">#&gt;</span>  $ 
connection:&lt;adbc_connection at 0x5585c95cd240&gt; </span>
+<span class="r-out co"><span class="r-pr">#&gt;</span>  $ 
connection:&lt;adbc_connection at 0x5644b1447dd0&gt; </span>
 <span class="r-out co"><span class="r-pr">#&gt;</span> List of 1</span>
-<span class="r-out co"><span class="r-pr">#&gt;</span>   ..$ 
database:&lt;adbc_database at 0x5585c9b55ad0&gt; </span>
+<span class="r-out co"><span class="r-pr">#&gt;</span>   ..$ 
database:&lt;adbc_database at 0x5644b0d15c40&gt; </span>
 <span class="r-out co"><span class="r-pr">#&gt;</span> List of 1</span>
 <span class="r-out co"><span class="r-pr">#&gt;</span>   .. ..$ 
driver:&lt;adbc_driver_void&gt; List of 2</span>
 <span class="r-out co"><span class="r-pr">#&gt;</span>   .. .. ..$ 
driver_init_func:Class 'adbc_driver_init_func' &lt;externalptr&gt; </span>
diff --git a/main/r/adbcdrivermanager/search.json 
b/main/r/adbcdrivermanager/search.json
index 82d9593ec..586d54299 100644
--- a/main/r/adbcdrivermanager/search.json
+++ b/main/r/adbcdrivermanager/search.json
@@ -1 +1 @@
-[{"path":"https://arrow.apache.org/adbc/current/r/adbcdrivermanager/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"Apache
 License","title":"Apache License","text":"Version 2.0, January 2004 
<http://www.apache.org/licenses/>","code":""},{"path":[]},{"path":"https://arrow.apache.org/adbc/current/r/adbcdrivermanager/LICENSE.html","id":"id_1-definitions","dir":"","previous_headings":"Terms
 and Conditions for use, reproduction, and distribution","what":"1. 
Definitions","title [...]
+[{"path":"https://arrow.apache.org/adbc/current/r/adbcdrivermanager/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"Apache
 License","title":"Apache License","text":"Version 2.0, January 2004 
<http://www.apache.org/licenses/>","code":""},{"path":[]},{"path":"https://arrow.apache.org/adbc/current/r/adbcdrivermanager/LICENSE.html","id":"id_1-definitions","dir":"","previous_headings":"Terms
 and Conditions for use, reproduction, and distribution","what":"1. 
Definitions","title [...]
diff --git a/main/r/adbcflightsql/pkgdown.yml b/main/r/adbcflightsql/pkgdown.yml
index abd6a3a21..7e0b82499 100644
--- a/main/r/adbcflightsql/pkgdown.yml
+++ b/main/r/adbcflightsql/pkgdown.yml
@@ -2,7 +2,7 @@ pandoc: 3.7.0.1
 pkgdown: 2.1.3
 pkgdown_sha: ~
 articles: {}
-last_built: 2025-05-26T09:52Z
+last_built: 2025-05-26T13:09Z
 urls:
   reference: https://arrow.apache.org/adbc/current/r/adbcflightsql/reference
   article: https://arrow.apache.org/adbc/current/r/adbcflightsql/articles
diff --git a/main/r/adbcpostgresql/pkgdown.yml 
b/main/r/adbcpostgresql/pkgdown.yml
index de4905bda..ba4c3122b 100644
--- a/main/r/adbcpostgresql/pkgdown.yml
+++ b/main/r/adbcpostgresql/pkgdown.yml
@@ -2,7 +2,7 @@ pandoc: 3.7.0.1
 pkgdown: 2.1.3
 pkgdown_sha: ~
 articles: {}
-last_built: 2025-05-26T09:52Z
+last_built: 2025-05-26T13:09Z
 urls:
   reference: https://arrow.apache.org/adbc/current/r/adbcpostgresql/reference
   article: https://arrow.apache.org/adbc/current/r/adbcpostgresql/articles
diff --git a/main/r/adbcsnowflake/pkgdown.yml b/main/r/adbcsnowflake/pkgdown.yml
index a38f7039d..6200d4c49 100644
--- a/main/r/adbcsnowflake/pkgdown.yml
+++ b/main/r/adbcsnowflake/pkgdown.yml
@@ -2,7 +2,7 @@ pandoc: 3.7.0.1
 pkgdown: 2.1.3
 pkgdown_sha: ~
 articles: {}
-last_built: 2025-05-26T09:52Z
+last_built: 2025-05-26T13:10Z
 urls:
   reference: https://arrow.apache.org/adbc/current/r/adbcsnowflake/reference
   article: https://arrow.apache.org/adbc/current/r/adbcsnowflake/articles
diff --git a/main/r/adbcsqlite/pkgdown.yml b/main/r/adbcsqlite/pkgdown.yml
index e0a8e3f4d..fc638647a 100644
--- a/main/r/adbcsqlite/pkgdown.yml
+++ b/main/r/adbcsqlite/pkgdown.yml
@@ -2,7 +2,7 @@ pandoc: 3.7.0.1
 pkgdown: 2.1.3
 pkgdown_sha: ~
 articles: {}
-last_built: 2025-05-26T09:52Z
+last_built: 2025-05-26T13:09Z
 urls:
   reference: https://arrow.apache.org/adbc/current/r/adbcsqlite/reference
   article: https://arrow.apache.org/adbc/current/r/adbcsqlite/articles
diff --git a/version.js b/version.js
index e0f051955..086deb5d4 100644
--- a/version.js
+++ b/version.js
@@ -52,48 +52,117 @@ function adbcInjectVersionSwitcher() {
     // path;version\npath2;version2;\n...
     // Versions are sorted at generation time
 
-    versions
-        .trim()
-        .split(/\n/g)
-        .map((version) => version.split(/;/))
-        // Most recent on top
-        .reverse()
-        .forEach((version) => {
-            const el = document.createElement("a");
-            // Variable injected by template
-            el.setAttribute("href", versionsRoot + "/" + version[0]);
-            el.innerText = version[1];
-            if (version[1] === currentVersion) {
-                el.classList.toggle("active");
-            }
-            const li = document.createElement("li");
-            li.appendChild(el);
-            root.appendChild(li);
+    const parsedVersions = versions
+          .trim()
+          .split(/\n/g)
+          .map((version) => version.split(/;/))
+    // Most recent on top
+          .reverse();
+    parsedVersions.forEach((version) => {
+        const el = document.createElement("a");
+        // Variable injected by template
+        el.setAttribute("href", versionsRoot + "/" + version[0]);
+        el.innerText = version[1];
+        if (version[1] === currentVersion) {
+            el.classList.toggle("active");
+        }
+        const li = document.createElement("li");
+        li.appendChild(el);
+        root.appendChild(li);
 
-            el.addEventListener("click", (e) => {
-                e.preventDefault();
-                try {
-                    let relativePart = window.location.pathname.replace(/^\//, 
"");
-                    // Remove the adbc/ prefix
-                    relativePart = relativePart.replace(/^adbc[^\/]+\//, "");
-                    // Remove the version number
-                    relativePart = relativePart.replace(/^[^\/]+\//, "");
-                    const newUrl = 
`${el.getAttribute("href")}/${relativePart}`;
-                    window.fetch(newUrl).then((resp) => {
-                        if (resp.status === 200) {
-                            window.location.href = newUrl;
-                        } else {
-                            window.location.href = el.getAttribute("href");
-                        }
-                    }, () => {
+        el.addEventListener("click", (e) => {
+            e.preventDefault();
+            try {
+                let relativePart = window.location.pathname.replace(/^\//, "");
+                // Remove the adbc/ prefix
+                relativePart = relativePart.replace(/^adbc[^\/]+\//, "");
+                // Remove the version number
+                relativePart = relativePart.replace(/^[^\/]+\//, "");
+                const newUrl = `${el.getAttribute("href")}/${relativePart}`;
+                window.fetch(newUrl).then((resp) => {
+                    if (resp.status === 200) {
+                        window.location.href = newUrl;
+                    } else {
                         window.location.href = el.getAttribute("href");
-                    });
-                } catch (e) {
+                    }
+                }, () => {
                     window.location.href = el.getAttribute("href");
-                }
-                return false;
-            });
+                });
+            } catch (e) {
+                window.location.href = el.getAttribute("href");
+            }
+            return false;
+        });
+    });
+
+    // Inject a banner warning if the user is looking at older/development
+    // version documentation
+
+    // If the user has dismissed the popup, don't show it again
+    const storageKey = "adbc-ignored-version-warnings";
+    const ignoreVersionWarnings = new Set();
+    try {
+        const savedVersions = JSON.parse(window.localStorage[storageKey]);
+        for (const version of savedVersions) {
+            ignoreVersionWarnings.add(version);
+        }
+    } catch (e) {
+        // ignore
+    }
+
+    if (ignoreVersionWarnings.has(currentVersion)) {
+        return;
+    }
+
+    let warningBanner = null;
+    const redirectUrl = `${versionsRoot}/current`;
+    let redirectText = null;
+    if (currentVersion.endsWith(" (dev)")) {
+        warningBanner = "This is documentation for an unstable development 
version.";
+        redirectText = "Switch to stable version";
+    } else {
+        const stableVersions = parsedVersions
+              .filter(v => v[0] === "current");
+        if (stableVersions.length > 0) {
+            const stableVersion = stableVersions[0][1].match(/^(.+) 
\(current\)/)[1];
+            if (currentVersion !== stableVersion) {
+                warningBanner = `This is documentation for version 
${currentVersion}.`;
+                redirectText = `Switch to current stable version`;
+            }
+        }
+    }
+
+    if (warningBanner !== null) {
+        // Generate on the fly instead of depending on the template containing
+        // the right elements/styles
+        const container = document.createElement("div");
+        const text = document.createElement("span");
+        text.innerText = warningBanner + " ";
+        const button = document.createElement("a");
+        button.setAttribute("href", redirectUrl);
+        button.innerText = redirectText;
+        const hide = document.createElement("a");
+        hide.innerText = "Hide for this version";
+        const spacer = document.createTextNode(" ");
+        container.appendChild(text);
+        container.appendChild(button);
+        container.appendChild(spacer);
+        container.appendChild(hide);
+
+        hide.addEventListener("click", (e) => {
+            container.remove();
+            ignoreVersionWarnings.add(currentVersion);
+            window.localStorage[storageKey] =
+                JSON.stringify(Array.from(ignoreVersionWarnings));
         });
+
+        container.style.background = "#f8d7da";
+        container.style.color = "#000";
+        container.style.padding = "1em";
+        container.style.textAlign = "center";
+
+        document.body.prepend(container);
+    }
 };
 
 if (document.readyState !== "loading") {

Reply via email to