Collapse the deploy sub-pages back into one deploy.md (tabs, not separate pages), add a working mermaid flow diagram, and rework the top per feedback. - Mermaid: enable via superfences fence_div_format (the fence_code_format <pre><code> wrapper broke mermaid's render — div format fixes it); vendor mermaid.min.js locally (no CDN dependency for a self-hosted site) + a small init that renders each block once and survives instant-nav. - Content tabs Compose / Dockerfile / Secrets hold the three pieces together on one page (inline comments in the code, no annotation +). - 'What can run here' tip moved above the flow; section renamed 'Preparing for Deploy' with the 'you don't run deploy commands' point folded sparsely into the intro (standalone note removed); 'svc never changes' called out. - Flow diagram (below the tabs): build group now includes our libraries; git -> staging shown as develop-if-gitflow (dotted); deployment (no MR-to-main) -> docker image built + run on the fleet. - Revert inbound links to deploy.md. Verified in-browser: diagram renders with all nodes, tabs switch, section order correct; mkdocs build --strict clean. Signed-off-by: disqualifier <dev@disqualifier.me>
30 lines
978 B
JavaScript
30 lines
978 B
JavaScript
// render mermaid diagrams (emitted as <div class="mermaid">SOURCE</div>).
|
|
// render(id, src) is used directly and each block is processed once.
|
|
(function () {
|
|
var inited = false;
|
|
var seq = 0;
|
|
function boot() {
|
|
if (typeof mermaid === "undefined") return;
|
|
if (!inited) {
|
|
mermaid.initialize({ startOnLoad: false, theme: "dark", securityLevel: "loose" });
|
|
inited = true;
|
|
}
|
|
document.querySelectorAll("div.mermaid").forEach(function (el) {
|
|
if (el.dataset.mmdDone) return;
|
|
var src = el.textContent.trim();
|
|
if (!src) return;
|
|
el.dataset.mmdDone = "1";
|
|
mermaid.render("mmd-" + seq++, src).then(function (out) {
|
|
el.innerHTML = out.svg;
|
|
}).catch(function () {
|
|
delete el.dataset.mmdDone;
|
|
});
|
|
});
|
|
}
|
|
if (window.document$ && typeof window.document$.subscribe === "function") {
|
|
window.document$.subscribe(boot);
|
|
} else {
|
|
document.addEventListener("DOMContentLoaded", boot);
|
|
}
|
|
})();
|