Personal blog and portfolio website built with Hugo and deployed to Cloudflare Workers.
This is a Bun monorepo containing:
- apps/web - Hugo static website using PaperMod theme
- apps/email-worker - Cloudflare Worker for contact form emails
# Install dependencies
bun install
# Start development server
bun run dev
# Build for production
bun run build| Command | Description |
|---|---|
bun run dev |
Start Hugo development server |
bun run dev:worker |
Start email worker locally |
bun run build |
Build Hugo site for production |
bun run deploy |
Deploy both web and worker |
All Hugo commands should be run from apps/web/:
cd apps/web
# Create a regular blog post
hugo new posts/name-of-a-post
# Create a learning log post
hugo new ever-learning/name-of-a-post| Type | Directory | Archetype |
|---|---|---|
| Blog posts | posts/ |
default |
| Learning log | ever-learning/ |
ever-learning |
See docs/DEPLOYMENT.md for complete deployment instructions.
- Configure GitHub secrets (
CLOUDFLARE_API_TOKEN) - Configure GitHub variables (
CLOUDFLARE_ACCOUNT_ID) - Set up Cloudflare Turnstile for contact form
- Set up Resend for email delivery
- Configure worker secrets via
wrangler secret put - Push to
masterbranch to trigger deployment
- Deployment Guide - Full deployment setup
- Architecture Decision Records - Project decisions
All rights reserved.