cache-bust local assets; narrow the language facet to scores >= 3

Part 1 — asset versioning: every local <script src> and <link rel=stylesheet> on the
tracked pages now carries ?v=<sha256-of-the-file> (10 hex), computed at BUILD time from
the file's bytes by work/build-asset-versions.py — never hand-typed, and idempotent
(re-running with no file change rewrites nothing). This is what makes an edited
focus-rule.js / photo-upload.js a new URL instead of a stale cache hit.

Part 2 — language facet: a language now counts for the Language filter only when its
0-5 self-assessment is >= LANG_FACET_MIN (3 = 'works in it'). The constant sits beside
the 15-point rule in the page script and its mirror in build-directory.py. Nothing
stored changes; the card's languages chart still prints every language above 0, the
search box is unchanged, and the facet stays an exact membership test against the
card's value. A '1' language no longer offers the person under that language.
This commit is contained in:
webmaster committed 2026-11-03 21:26:58 +00:00
1 parent c83186f809
commit bd0881f882
51 files changed
+138 -118

No files matched your search

+4 -4
View File
@@ -43,7 +43,7 @@
onload="this.media='all'"
/>
<noscript><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" /></noscript>
<link rel="stylesheet" href="/style.css" />
<link rel="stylesheet" href="/style.css?v=3332fbba93" />
<style>
/* ---- Odoo Black Friday 2026 page (page-scoped; additive) ---- */
.bf-sr-only {
@@ -744,7 +744,7 @@
window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}};
plausible.init()
</script>
<script defer src="/static/lang.js"></script>
<script defer src="/static/lang.js?v=3ec49a7e62"></script>
</head>
<body>
<!-- Hero — copied from the homepage (index.html): same component, same behaviour. On load the
@@ -1275,7 +1275,7 @@
</div>
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/gsap.min.js"></script>
<script defer src="/static/black-friday.js"></script>
<script defer src="/static/ads-consent.js"></script>
<script defer src="/static/black-friday.js?v=df1f299dc5"></script>
<script defer src="/static/ads-consent.js?v=0cc2bfb809"></script>
</body>
</html>