fix: bust docs asset cache

This commit is contained in:
Peter Steinberger 2026-05-06 19:23:59 +01:00
parent 6b9a412a9a
commit 954d5676f9
No known key found for this signature in database
2 changed files with 18 additions and 3 deletions

View File

@ -25,6 +25,7 @@ const ogImagePath = "/og-card.png";
const renderedPageOgCards = new Set();
const rsvgAvailable = checkRsvg();
const chatApiUrl = process.env.DOCS_SITE_CHAT_API_URL ?? "/ask-molty/api/chat";
const assetVersion = buildAssetVersion();
fs.rmSync(outDir, { recursive: true, force: true, maxRetries: 5, retryDelay: 100 });
fs.mkdirSync(outDir, { recursive: true });
@ -205,7 +206,7 @@ ${canonicalUrl ? `<meta property="og:url" content="${escapeAttr(canonicalUrl)}">
<meta name="twitter:image:alt" content="${escapeAttr(`${config.name} — ${description}`)}">
<meta name="theme-color" content="#FF5A36">
<link rel="icon" href="${publicPath("/assets/pixel-lobster.svg")}">
<link rel="stylesheet" href="${publicPath("/assets/docs-site.css")}">
<link rel="stylesheet" href="${assetUrl("/assets/docs-site.css")}">
<script>window.OPENCLAW_DOCS_BASE=${JSON.stringify(basePath)};window.OPENCLAW_DOCS_CHAT_API=${JSON.stringify(chatApiUrl)};document.documentElement.dataset.theme=localStorage.getItem("theme")||"dark"</script>
</head>
<body>
@ -226,11 +227,15 @@ ${tocHtml(toc)}
</div>
${searchModal()}
${chatWidget()}
<script type="module" src="${publicPath("/assets/docs-site.js")}"></script>
<script type="module" src="${assetUrl("/assets/docs-site.js")}"></script>
</body>
</html>`;
}
function assetUrl(file) {
return `${publicPath(file)}?v=${encodeURIComponent(assetVersion)}`;
}
function siteHeader(page, nav, activeTab) {
const tabs = nav.map((tab) => {
const href = pageUrl(firstPage(tab));
@ -447,6 +452,16 @@ function checkRsvg() {
}
}
function buildAssetVersion() {
const fromEnv = process.env.GITHUB_SHA || process.env.DOCS_SITE_ASSET_VERSION;
if (fromEnv) return fromEnv.slice(0, 12);
try {
return execFileSync("git", ["rev-parse", "--short=12", "HEAD"], { encoding: "utf8" }).trim();
} catch {
return "dev";
}
}
function writeStaticAssets() {
const assetsDir = path.join(outDir, "assets");
fs.mkdirSync(assetsDir, { recursive: true });

View File

@ -67,7 +67,7 @@ if (!/^---\nsummary: /m.test(modelsMarkdown) || !/title: "Models CLI"/m.test(mod
if (process.env.DOCS_SITE_BASE_PATH && (/src="\/assets\//.test(index) || /href="\/assets\//.test(index))) {
throw new Error("index: absolute asset paths were not base-path rewritten");
}
if (!process.env.DOCS_SITE_BASE_PATH && !/href="\/assets\/docs-site\.css"/.test(index)) {
if (!process.env.DOCS_SITE_BASE_PATH && !/href="\/assets\/docs-site\.css\?v=[^"]+"/.test(index)) {
throw new Error("index: custom-domain build did not emit root asset paths");
}
if (process.env.DOCS_SITE_CNAME) {