Personal Site Generator

software active
Technologies:
GotemplTailwind CSSAlpine.js

A custom static site generator built specifically for my personal site needs. This project combines the type safety of Go with modern web technologies to create a fast, maintainable site generator.

Features

  • Content-addressable asset storage - Images and PDFs are hashed and stored in S3
  • Automatic image optimization - Multiple sizes generated for responsive images
  • EXIF data extraction - Camera settings displayed for photography
  • PDF generation - Articles can be downloaded as PDFs
  • Built-in search - Client-side search index
  • Multiple content types - Writing, photography, projects, and reading list

Technical Details

The generator processes markdown files with frontmatter, generates responsive images, and outputs a static site ready for deployment. Asset processing is cached to avoid reprocessing unchanged files.

The build pipeline:

  1. Process images with EXIF extraction
  2. Generate PDFs from articles
  3. Sync assets to S3
  4. Build HTML from templ components
  5. Deploy to DigitalOcean App Platform