site: cache-bust shared.css (?v=20260910) so the logo rule reaches cached browsers
Browsers held a stale shared.css (no Cache-Control on .css, weeks-old Last-Modified → long heuristic freshness), so the .brand .logo rule added on 2026-09-07 never applied for returning visitors and the brand wrapped onto its own nav row on every page except Hephaestus. All 13 pages now link shared.css?v=YYYYMMDD; bump it on every shared.css change (GOTCHAS).
This commit is contained in:
parent
760d96f5df
commit
d6c1f63043
14 changed files with 271 additions and 261 deletions
10
GOTCHAS.md
10
GOTCHAS.md
|
|
@ -36,6 +36,16 @@ the HTML pages were current while the JSON next to them still said 0.3.3.
|
|||
Sia and deletes it from `/opt/silent-mode/dl/`. Run it after every ship; when
|
||||
it is skipped the 48 GB disk climbs ~245 MB per release.
|
||||
|
||||
## Bump `shared.css?v=` whenever shared.css changes
|
||||
|
||||
nginx sends no `Cache-Control` for `.css`, so browsers cache `shared.css`
|
||||
heuristically (10% of its age since `Last-Modified`; it sat unchanged for
|
||||
weeks, so returning visitors kept the old copy for days). When the logo rule
|
||||
was added on 2026-09-07 every page except Hephaestus (inline nav CSS) showed
|
||||
the brand wrapped onto its own row for anyone with a cached sheet. Every page
|
||||
now links `shared.css?v=YYYYMMDD`; change the value on every page (one `sed`)
|
||||
each time the file changes. Same applies to the Sia mirror via the gateway.
|
||||
|
||||
## Pages that are not silentmode.st pages
|
||||
|
||||
`hephaestus.x/` is the landing for the `.x` name and is served from Sia via the
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
<meta property="og:image:height" content="630">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
|
||||
<link rel="stylesheet" href="/shared.css">
|
||||
<link rel="stylesheet" href="/shared.css?v=20260910">
|
||||
<style>
|
||||
.asset{background:var(--panel);border:1px solid var(--line);border-radius:14px;
|
||||
padding:22px;margin-bottom:16px;display:grid;gap:14px;
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
<meta property="og:image:width" content="1200">
|
||||
<meta property="og:image:height" content="630">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<link rel="stylesheet" href="/shared.css">
|
||||
<link rel="stylesheet" href="/shared.css?v=20260910">
|
||||
<style>
|
||||
body{background:#05070c}
|
||||
body::before{
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
<meta property="og:image:width" content="1200">
|
||||
<meta property="og:image:height" content="630">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<link rel="stylesheet" href="/shared.css">
|
||||
<link rel="stylesheet" href="/shared.css?v=20260910">
|
||||
<style>
|
||||
/* Page-specific only — tokens, body and buttons come from shared.css.
|
||||
`.capsule`, not `.pill`: shared.css already uses `.pill` for status badges.
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
<meta property="og:image:width" content="1200">
|
||||
<meta property="og:image:height" content="630">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<link rel="stylesheet" href="/shared.css">
|
||||
<link rel="stylesheet" href="/shared.css?v=20260910">
|
||||
<style>
|
||||
body{background:#070a11}
|
||||
body::before{
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
<meta property="og:image:width" content="1200">
|
||||
<meta property="og:image:height" content="630">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<link rel="stylesheet" href="/shared.css">
|
||||
<link rel="stylesheet" href="/shared.css?v=20260910">
|
||||
<style>
|
||||
body{background:#070a11}
|
||||
body::before{
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
<meta property="og:image:width" content="1200">
|
||||
<meta property="og:image:height" content="630">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<link rel="stylesheet" href="../shared.css">
|
||||
<link rel="stylesheet" href="../shared.css?v=20260910">
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
|
||||
</head>
|
||||
<body>
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
<meta property="og:image:width" content="1200">
|
||||
<meta property="og:image:height" content="630">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<link rel="stylesheet" href="../shared.css">
|
||||
<link rel="stylesheet" href="../shared.css?v=20260910">
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
|
||||
</head>
|
||||
<body>
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
<meta property="og:image:width" content="1200">
|
||||
<meta property="og:image:height" content="630">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<link rel="stylesheet" href="shared.css">
|
||||
<link rel="stylesheet" href="shared.css?v=20260910">
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
|
||||
</head>
|
||||
<body>
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
<meta property="og:image:width" content="1200">
|
||||
<meta property="og:image:height" content="630">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<link rel="stylesheet" href="../shared.css">
|
||||
<link rel="stylesheet" href="../shared.css?v=20260910">
|
||||
<style>
|
||||
/* Category grid — visually distinct from the homepage's tool cards so the two
|
||||
don't blur together. Prometheus is a shop; the homepage is a foyer. */
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
.note b{color:var(--ink)}
|
||||
footer{color:var(--dim);font-size:12.5px;margin-top:2.5rem;text-align:center}
|
||||
</style>
|
||||
<link rel="stylesheet" href="../shared.css">
|
||||
<link rel="stylesheet" href="../shared.css?v=20260910">
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
|
||||
</head>
|
||||
<body>
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
<meta property="og:image:width" content="1200">
|
||||
<meta property="og:image:height" content="630">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<link rel="stylesheet" href="../shared.css">
|
||||
<link rel="stylesheet" href="../shared.css?v=20260910">
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
|
||||
</head>
|
||||
<body>
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
<meta property="og:image:width" content="1200">
|
||||
<meta property="og:image:height" content="630">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<link rel="stylesheet" href="../shared.css">
|
||||
<link rel="stylesheet" href="../shared.css?v=20260910">
|
||||
<style>
|
||||
/* Page-specific: TLD table + snapshot-verification card */
|
||||
.hero{text-align:center;padding:4.5rem 1.2rem 1rem}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
<meta property="og:image:width" content="1200">
|
||||
<meta property="og:image:height" content="630">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<link rel="stylesheet" href="../shared.css">
|
||||
<link rel="stylesheet" href="../shared.css?v=20260910">
|
||||
<style>
|
||||
/* Flagship — ONE panel with a shared description, two versions inside.
|
||||
Windows + Android are the same product on two platforms; the layout
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue