diff --git a/README.md b/README.md
index e6e996cc7..1f3a57fe6 100644
--- a/README.md
+++ b/README.md
@@ -166,7 +166,7 @@ Sibling repositories:
- **`pccx-v002`** — reusable v002 IP-core package.
- **`pccx-v003`** — future reusable v003 IP-core package.
- **[pccxai/pccx-FPGA-NPU-LLM-kv260](https://github.com/pccxai/pccx-FPGA-NPU-LLM-kv260)** — KV260 + LLM application integration that consumes `pccx-v002`.
-- **[pccxai/pccx-lab](https://github.com/pccxai/pccx-lab)** — performance simulator, CLI-first verification lab, and trace profiler. The public Lab documentation lives on `https://labs.pccx.ai/`.
+- **[pccxai/pccx-lab](https://github.com/pccxai/pccx-lab)** — performance simulator, CLI-first verification lab, and trace profiler. The public Lab documentation lives on `https://docs.altifigence.com/lab/`.
---
@@ -202,7 +202,7 @@ the speculative-decoding stack is integrated.
Performance simulator, CLI-first verification lab, and trace profiler for the pccx NPU. Pre-RTL bottleneck detection, UVM co-simulation, and testbench/trace workflow support share one workflow.
- Repository: https://github.com/pccxai/pccx-lab
-- Documentation: https://labs.pccx.ai/
+- Documentation: https://docs.altifigence.com/lab/
- Status: Work in Progress
---
diff --git a/_extra/_redirects b/_extra/_redirects
deleted file mode 100644
index cb4f22b0c..000000000
--- a/_extra/_redirects
+++ /dev/null
@@ -1,9 +0,0 @@
-/en/docs/v002/* https://docs.altifigence.com/products/v002/:splat 301
-/ko/docs/v002/* https://docs.altifigence.com/kr-ko/products/v002/:splat 301
-/docs/v002/* https://docs.altifigence.com/products/v002/:splat 301
-/en/* https://docs.altifigence.com/v002/sphinx-mirror/:splat 301
-/ko/* https://docs.altifigence.com/v002/sphinx-mirror/ko/:splat 301
-/robots.txt https://docs.altifigence.com/robots.txt 301
-/sitemap.xml https://docs.altifigence.com/sitemap.xml 301
-/ https://docs.altifigence.com/v002/sphinx-mirror/ 301
-/* https://docs.altifigence.com/v002/sphinx-mirror/:splat 301
diff --git a/_static/pccx-version-switcher.js b/_static/pccx-version-switcher.js
index 7dd1afc49..189b4d2ba 100644
--- a/_static/pccx-version-switcher.js
+++ b/_static/pccx-version-switcher.js
@@ -74,6 +74,11 @@
if (clickable) {
node.href = url;
node.dataset.pccxVersionUrl = url;
+ // External links (v003 etc.) should open in a new tab
+ if (url.startsWith("http://") || url.startsWith("https://")) {
+ node.target = "_blank";
+ node.rel = "noopener noreferrer";
+ }
} else {
node.classList.add("is-disabled");
node.setAttribute("aria-disabled", "true");
@@ -100,6 +105,20 @@
tree.insertBefore(wrapper, tree.firstChild);
}
switcher.hidden = false;
+
+ // Upgrade any external links in the sidebar (Tools section etc.) to open in new tab
+ upgradeExternalSidebarLinks();
+ }
+
+ function upgradeExternalSidebarLinks() {
+ const sidebar = document.querySelector(".sidebar-tree");
+ if (!sidebar) return;
+ sidebar.querySelectorAll('a[href^="http"]').forEach((a) => {
+ if (!a.target) {
+ a.target = "_blank";
+ a.rel = "noopener noreferrer";
+ }
+ });
}
function render(entries) {
@@ -134,8 +153,12 @@
}
if (document.readyState === "loading") {
- document.addEventListener("DOMContentLoaded", main, { once: true });
+ document.addEventListener("DOMContentLoaded", () => {
+ upgradeExternalSidebarLinks();
+ main();
+ }, { once: true });
} else {
+ upgradeExternalSidebarLinks();
main();
}
})();
diff --git a/_static/pccx_versions.json b/_static/pccx_versions.json
index b3339e0cd..d01713929 100644
--- a/_static/pccx_versions.json
+++ b/_static/pccx_versions.json
@@ -12,10 +12,10 @@
{
"label": "v003",
"slug": "v003",
- "url": "/en/docs/v003/",
+ "url": "https://docs.altifigence.com/v003/",
"urls": {
- "en": "/en/docs/v003/",
- "ko": "/ko/docs/v003/"
+ "en": "https://docs.altifigence.com/v003/",
+ "ko": "https://docs.altifigence.com/v003/"
},
"status": "available"
},
diff --git a/_templates/sidebar/brand.html b/_templates/sidebar/brand.html
index 77f3c3e5e..4e59737f5 100644
--- a/_templates/sidebar/brand.html
+++ b/_templates/sidebar/brand.html
@@ -56,7 +56,7 @@
RTL