Social
the natalie zone
About Posts Things Microblog

How this blog works, and other tech stuff

Blog

  1. Generated with 11ty
  2. Posts written in Markdown
  3. Built and hosted by Cloudflare Pages (because it’s faster than Vercel or GitHub), images served out of an R2 bucket
  4. I don’t give anybodyCloudflare any money to host this
  5. Based technically and intellectually on Emily Horsman’s blog
  6. My friends runs on the same stack, more-or-less1

Image pipeline

This is kind of a mix of things I came up with and built, and how Emily Horsman does it on her blog.

  1. Take pictures
  2. Start writing, usually I throw in image names into the markdown of the article before the photos come off the camera so I can write while doing the thing (eg being on the train)
  3. Photos come off the camera, edited in Lightroom
  4. Exported and dropped into the folder for the post.
  5. At build time (on my machine, it knows this from an environment variable) 11ty processes the images using eleventy-img into webps. For local preview, it dumps them into a passthrough/cdn folder that gets copied into the build output (locally only).
  6. I commit to git
  7. I run a script that scoops up all the processed images out of the passthrough/cdn folder, runs a simple name-diff to figure out what’s new, and dumps those into another R2 bucket (cdn.natalie.lol), where they will be served from.
  8. Push to git (source images go to a cloudflare R2 bucket acting as a git lfs server). This triggers a Cloudflare Pages build, where images are ignored (there’s a hard 25MB limit on Pages sites) and replaced with their CDN url.

Gear

  1. I mostly shoot on my Fuji X-T30 II or my iPhone Pro Max (what a stupid name). Sometimes I shoot with a Nikon D3400.
  2. I record sounds with a Zoom H1n hand recorder, sometimes with a (homemade) induction mic.

  1. Coming soon, I promise ↩︎