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
@@ -15,6 +15,7 @@
|
||||
"every-player-stuttered-the-file-was-fine": "A perfectly aligned dark film canister whose internal sprocket teeth sit one notch out of phase, casting a doubled ghost shadow onto a translucent glass slab",
|
||||
"five-step-ai-roadmap-what-i-actually-run": "A five-tier architectural staircase in dark graphite, the middle tiers brightly illuminated with active hardware racks while the speculative top tiers remain skeletal wireframes",
|
||||
"fully-on-chain-svg-nfts": "A crystalline art plaque sealed completely inside a transparent contract block, its imagery carved directly into the block's inner facets rather than mounted on any external frame",
|
||||
"generating-subtitles-for-songs-without-timestamps": "A translucent glass rod of trapped sound resting on a dark machined spindle, a thin brass feeler tracing along its length and pressing evenly spaced notches into the glass, each notch filling with pale light just behind the moving feeler",
|
||||
"hardening-a-tor-onion-service": "A matte black multi-shell relay tower of stacked concentric domes, each layer locked by a brass ring, with a single narrow sealed ingress slit glowing soft violet",
|
||||
"hello-world": "A minimal dark workbench holding one glowing filament cursor hovering above a blank obsidian slate, first light spilling from a small pulsing pinpoint of light at its corner",
|
||||
"how-i-built-the-digikedai-telegram-bot": "A folded paper-plane shaped obsidian drone docked at a glowing delivery dock module, tethered by a luminous thread to a private gateway pylon behind it",
|
||||
@@ -71,5 +72,6 @@
|
||||
"why-your-cdp-clicks-silently-fail": "A high-precision robotic cursor pointer clicking onto a translucent glass pad that has already shifted away on an invisible kinetic wave, triggering no resonance",
|
||||
"why-your-grafana-dashboard-shows-no-data": "A wide wall of forty-one dark telemetry panels all reading blank, one small self-referential filter disc visibly stuck against its own inlet",
|
||||
"why-your-headless-browser-cant-scrape-everything": "Two identical dark vault chambers side by side, one sealed shut behind a wall of blank grey panels while the other stands open with warm light spilling from inside",
|
||||
"your-disk-full-alert-is-lying": "A tall nearly empty barrel of enormous capacity with a tiny amber fill line at its base, while a thin illuminated arc above it strains against its stop"
|
||||
"your-disk-full-alert-is-lying": "A tall nearly empty barrel of enormous capacity with a tiny amber fill line at its base, while a thin illuminated arc above it strains against its stop",
|
||||
"yue2-on-a-12gb-gpu-songs-that-lost-their-endings": "A row of slender dark glass tubes standing upright in a black rack on a machined rail, a single horizontal blade bar sweeping across them and cutting every one at the same height, the severed upper segments laid out in a shallow tray beside the rail"
|
||||
}
|
||||
Reference in new issue
Block a user