Deploy / build (push) Successful in 15s
New `devops` post on vetting an upstream dependency before building on it: the six checks that corrected six assumptions from a 1,306-line architecture spec — repo vital signs via the GitHub API, grepping for the feature instead of reading for it (OIDC/SSO/SAML → 0 hits), reading a feature doc's target branch (white-label lives on `multi-tenant`, not `main`), reading the data model rather than the feature list (percent/fixed vs five assumed rule types), the Community-vs-Enterprise tier gate (API tokens free, SSO paid), and whether the money rail works in-country (selfhost + manual payouts, not Stripe Connect). Closes with the fallback question and the authentik proxy-provider answer. - EN: src/content/posts/vetting-an-open-source-dependency-before-you-bet-on-it.md - ZH: src/content/posts/zh/<same slug>.md (same filename → auto language switch) - Custom OG (1200x630) + banner (1600x900) art via TERMINALS/BANNERS entries - pubDate 2026-09-29; build verified 93 pages, 17/17 content checks, listing order monotonic on /posts/, / and /zh/ Note: the generator maps also carry two entries belonging to parallel in-flight posts (adding-english-mode…, and the sessions' other slugs); their post files were left uncommitted.
og-gen — per-post OG image generator
Generates a branded 1200×630 social-share image for a blog post, matching the
site's cobalt-blue #295cff branding, the logo-square.png mark, and the
"terminal / debugging" visual style.
Usage
node scripts/og-gen/generate.mjs <post-slug>
Reads frontmatter (title, category, tags) from
src/content/posts/<slug>.md, fills template.html, renders with headless
Chrome, and writes public/og/<slug>.png.
The post's frontmatter needs ogImage: /og/<slug>.png so the blog serves it
(layout already renders og:image + width/height; PostList shows it as a
card thumbnail).
Customizing the terminal box
Each post shows a "terminal" panel (the red error / green fix lines). Add an
entry keyed by slug in TERMINALS inside generate.mjs, using these tokens:
<div class="line"><span class="prompt">$</span><span class="cmd">command</span></div>
<div class="line"><span class="prompt"> </span><span class="err">error line</span></div>
<div class="line"><span class="prompt">$</span><span class="cmd">fix</span><span class="fix">→ done ✓</span></div>
No entry → a generic default terminal.
Requirements
- Google Chrome at
C:\Program Files\Google\Chrome\Application\chrome.exe(override withCHROME_PATHenv var). - Node 20+.
Notes
- PNG (not JPG) is intentional: for flat UI/terminal art, PNG is smaller and sharper than JPG (see commit history).
- The
logo-square.pngreferenced lives atpublic/logo-square.png.