Skip to content

v1.3.0

Choose a tag to compare

@SumitGA SumitGA released this 06 Sep 10:26
· 7 commits to main-branch since this release

Turns a finished post from a dead end into a starting point, and makes
the RSS feed possible to subscribe to.

Every post now ends with who wrote it and two things to do: "Get in
touch" and "Subscribe via RSS". Before this, the article stopped and the
next thing was previous/next links — the most engaged visitor the site
gets was given no identity to attach the writing to and no next step.

Two actions, deliberately. One converts, one retains. More would dilute
both.

Name and bio come from the CMS greeting, so editing it in the admin
updates the card, matching the rule the footer already follows.

Both actions are tracked as conversions (post_contact_click,
post_subscribe_click), so the analytics dashboard shows whether the
card actually works. Separate event names rather than one event with
metadata, so they appear as distinct rows with no schema change.

/blog/rss.xml has existed since v1.2.0 and was linked from nowhere — no
visible link, and no in , which is how feed
readers discover a feed at all. Subscribing required guessing the URL.

Now emitted on the blog index, every post and every tag page, plus a
visible link on the index.

It lives on the blog routes rather than the root layout on purpose: a
child that sets alternates replaces the parent's object wholesale, and
every page here sets its own canonical, so putting it in the layout would
have dropped it from precisely the pages that need it. Verified against a
production build that all three route shapes emit both.

Adds accentSolid (#E80F4F). White on accentBright (#FC1056) measures
3.93:1 — fine for large text, below the 4.5:1 AA requires for a button
label. The new colour is the same red 8% darker, at 4.55:1.

  • The active tag chip on the blog index still uses accentBright behind
    white text and so still measures 3.93:1. It predates this token.
  • Both posts share a cover image, so the index shows the same artwork
    twice.
  • Production still requires a manual "Promote to Production" in Vercel.
  • Callout blocks (> [!NOTE]) are not rendered.
  • The admin blog editor cannot reference an existing Cloudinary asset,
    only upload a new one, so re-using an image duplicates it.