CLAUDE.md — Beer, Wine, Whiskey & AI (main blog)

Working instructions for this repo. Deeper build detail lives in ONBOARDING.md; this file is the fast, authoritative summary of how to write and style posts. Its sibling is the guidebook at ../brewing-distilling-ai (the design source this blog matches).

What this is

Jekyll blog on GitHub Pages. Remote AnkurNapa/ankurnapa.github.io, branch main, permalink /:year/:title/. _config.yml sets future: false — never date a post later than build time. No local Jekyll/bundler; validate output with Python/curl, not jekyll serve.

Multi-language: English in _posts/, translations in _hi/ (Hindi), _de/ (German), _mr/ (Marathi). Any change to shared markup, palette, or diagrams must be applied to the translated collections too.

Writing a post

Filename _posts/YYYY-MM-DD-slug.md. Required structure, in order:

  1. Frontmatter: layout: post, title, image: /assets/og/<slug>.png, description, date (HH:MM:SS -0700), updated, tags, and a faq: block (3 Q&A) that is reproduced verbatim as the closing ## Frequently asked questions.
  2. A single bold lead paragraph starting **Short answer: and ending **.
  3. One inline SVG <figure> (see palette below), with role="img", a descriptive aria-label, HTML entities (never raw & or smart quotes), and a <figcaption>.
  4. Body ## sections, then ## Where this breaks (honest caveats), then ## The bottom line, then the FAQ.
  5. Cross-links via /YYYY/slug/ — verify the year against the actual post filename.

Tags: first tag = track (drives the post banner and auto-populates /tracks/<track>/). Add a series tag when the post belongs to a series; series index pages live in series/, track pages in tracks/.

Reading flow (industry-aware)

So a reader who arrives from one industry (wine, beer, whiskey, or a business track) stays in it:

House style

Design system (teal “guidebook” theme, since 2026-07-07)

The whole site uses the teal design ported from ../brewing-distilling-ai. Light-only (no dark mode).

Inline SVG figure palette (teal — do NOT use the retired warm hexes)

bg #ffffff; light box fill #f0f6f5; primary/stroke/header #00695c; deep box fill + ink #06483f; light text on deep boxes #cfe6df; muted #4a6b64; mid teal #4db6a2; green accent #2e9e7c; pink accent #ff4081. Never reintroduce #fdfbf7/#b45309/#8a5a2b/#7a1f3d/#6b6258/#1c1a17.

OG share images

python3 tools/gen_og_images.py regenerates all cards (palette is teal). It patches image: into frontmatter when missing. It re-renders every PNG, so when only content changed, stage just the new/changed cards; when the palette itself changes, all cards legitimately change and should be committed.

Ship checklist

  1. Validate frontmatter YAML, balanced <svg>/<figure>, no raw &, no em dashes.
  2. XML-parse each SVG; confirm cross-link targets exist.
  3. Generate OG image(s); recolor any new diagram to the teal palette.
  4. Commit (conventional commits; attribution disabled globally — no Co-Authored-By trailer) and push to main.
  5. GitHub Pages CDN serves stale 404s on brand-new paths for ~1 min; verify with a ?cb= cache-buster.