fix(art): give both 2026-10-20 posts their artwork, and gate the build on it
Deploy / build (push) Successful in 34s
Deploy / build (push) Successful in 34s
The YuE2 and subtitles posts shipped text-only: render_from_art.mjs only READS ogImage/banner, and after the 2026-10-19 bulk migration no script had to write them, so both pages advertised /og-default.jpg and rendered no hero banner. - new metaphors (in build_captions.py, frozen here via sync_prompts_catalog.py), captions, art-meta evidence, banner plan and the five derived files per slug - frontmatter: ogImage + banner in EN and ZH for both posts - scripts/check-assets.mjs is now step 1 of npm run build, so CI fails when a published post lacks a language-correct og card, banner, banner .webp or 400/800 list thumb. It reported 16 problems on the unfixed tree, all here.
This commit is contained in:
1 parent
557f312bc7
commit
0dae8b0daa
26 files changed
+229
-2
No files matched your search
@@ -43,6 +43,12 @@ Read this **before** touching theme, layout, typography, color, or SEO markup. P
|
||||
| Real photos (author, hardware) | **WebP q82** + JPEG fallback | Continuous-tone images are the opposite case from the flat art above. |
|
||||
|
||||
Regenerate all derivatives after adding a post: `uv run --with pillow python scripts/optimize-images.py`.
|
||||
|
||||
- **Every published post must point at its own art.** `scripts/check-assets.mjs` runs as the first
|
||||
step of `npm run build` (so CI fails, not just warns) and rejects a post whose `ogImage` or
|
||||
`banner` is missing or misnamed, or whose banner `.webp` / `-400` / `-800` thumbs are absent.
|
||||
The renderers only *read* frontmatter — nothing writes these two fields for a new post, which is
|
||||
how two 2026-10-20 posts shipped on `/og-default.jpg` with no hero banner.
|
||||
- **Declare `og:image:width/height` explicitly** — mis-declared dimensions get preview cards rejected by WhatsApp/Telegram/LinkedIn.
|
||||
- **Favicon**: reference all sizes (`.ico` + 32×32 + 192×192 PNG + apple-touch 180×180). "Favicon not showing" is usually browser cache, not a missing asset — `curl` the live files before "fixing".
|
||||
|
||||
|
||||
Reference in new issue
Block a user