Latest posts
Page 3 of 5
-
POSSE to Bluesky with the AT Protocol
Automatically syndicating new articles to Bluesky after each deploy — fetching the live OG image, uploading it as a blob, and posting a rich link card via the AT Protocol API.
-
Microformats2: Marking Up Posts for the IndieWeb
How h-entry, h-feed, and the rest of the MF2 vocabulary make articles, notes, and photos machine-readable without changing how they look.
-
Joining the IndieWeb
Why I added IndieWeb support to this site, what it means in practice, and how identity verification works through rel=me and h-card.
-
Obfuscating Contact Data on a Static Site
How I protect email addresses and personal contact details on a static Astro site from harvesting bots, using a combination of Base64 obfuscation and a CSS RTL trick that also defends against copy-paste.
-
Closing the Loop: Bluesky Reactions as Webmentions
How Bridgy polls Bluesky for likes, reposts, and replies and sends them back as webmentions — so interactions on the syndicated copy appear on the original post.
-
Live Webmentions Without SSR: A Hybrid Approach
Upgrading the WebMentions component from build-time-only to a hybrid model: static HTML renders instantly, a silent client-side fetch updates the count without a redeploy.
-
Syndicating Photos to Flickr with POSSE
How I built a script that keeps Flickr in sync with my site — uploading new photos, deleting removed ones, moving photos between albums, and writing Flickr IDs back into sidecar files.
-
Adding Notes, Links, and Archives
Three new content sections built on Astro content collections — short-form notes, a curated link log, and a unified chronological archive.
-
Distinguishing Collection Sets from Category Collections
A single boolean flag in the frontmatter separates navigational collection nodes from publishable photo sets — keeping the archive clean without adding structural complexity.
-
Structuring Photos as a Collection Tree
How the photos section grew from flat albums into a recursive collection hierarchy with nested routes, breadcrumbs, and a tag browsing system.