This repository serves two things at https://qsmxt.github.io/:
index.html— a small landing page introducing the QSM family of tools and linking to each one.qsm-nav.js— the shared "ecosystem bar" that every QSM site loads at runtime, so the cross-project navigation can be updated in one place.
| Tool | Role | Home |
|---|---|---|
| QSM.rs | engine — the Rust reconstruction library | astewartau/QSM.rs |
| QSMxT | pipeline — BIDS-native CLI + TUI | QSMxT/QSMxT |
| QSMbly | browser — the pipeline in WebAssembly | astewartau/qsmbly |
| QSM-CI | benchmark — open reconstruction leaderboard | QSMxT/QSM-CI |
qsm-nav.js injects a slim, always-dark strip at the top of each site, above that
site's own header. It is dependency-free and stack-agnostic (the four sites use
Astro/Starlight, vanilla HTML, Alpine/Tailwind, and rustdoc respectively). Each site
includes it with the same loader snippet, setting data-current to its own id:
<script>
(function () {
var s = document.createElement("script");
var local = location.hostname === "localhost" || location.hostname === "127.0.0.1";
s.src = local ? "/qsm-nav.js" : "https://qsmxt.github.io/qsm-nav.js";
s.dataset.current = "xt"; // rs | xt | bly | ci | hub
// s.dataset.target = "#slot"; // optional mount point; default: top of <body>
document.head.appendChild(s);
})();
</script>data-current— highlights the current project (rs,xt,bly,ci,hub).data-target— optional CSS selector for where to mount; defaults to the top of<body>.- On
localhost/127.0.0.1the script and all project links resolve to sibling paths (/QSM.rs/,/QSMxT/,/qsmbly/,/QSM-CI/) so the whole ecosystem can be previewed from one local static server.
If the script fails to load, the site simply renders without the bar — it is purely additive.
- Colours. Each tool has an accent that signals its role: QSM.rs orange (engine), QSMxT purple (pipeline), QSMbly blue (browser), QSM-CI green (benchmark). The bar and hub use all four; each individual site leans on its own accent.
- Org ownership. QSMxT and QSM-CI live in the
QSMxTorg; QSMbly and QSM.rs are underastewartau. If QSM.rs is transferred into theQSMxTorg, update itsurlinqsm-nav.jstohttps://qsmxt.github.io/QSM.rs/(Pages URLs do not auto-redirect after a transfer).