A minimal, plain text blog built with Next.js — inspired by Paul Graham and Sam Altman.
Live website: pleasedontddosme.github.io/blog
-
Fork or clone this repo:
git clone https://github.com/pleasedontddosme/blog.git cd blog npm install -
Delete the existing posts inside
posts/and add your own. -
Update
app/layout.tsxwith your own site title, subscription link, and analytics snippet (or remove them). -
Update the
SITE_URLinapp/feed.xml/route.tsto point to your domain.
Create a Markdown file in the posts/ directory. The filename becomes the URL slug (e.g. my-first-post.md → /posts/my-first-post).
Each file needs front matter at the top:
---
title: "Your Post Title"
date: "2026-03-01T12:00"
label: "essay"
---
Your content here, written in Markdown.- title — displayed on the homepage and post page.
- date — used for sorting (newest first). Format:
YYYY-MM-DDorYYYY-MM-DDTHH:MM. - label — either
"essay"or"note". Essays and notes are shown in separate sections on the homepage.
When running locally, visit /write to create posts through a form instead of editing files by hand. This page is not included in the static export.
npm run devOpen localhost:3000.
The site exports to static HTML — no server needed.
npm run buildThe output is in the out/ directory. Deploy it to GitHub Pages, Netlify, Vercel, or any static host.
For GitHub Pages, set BASE_PATH="/blog" (or whatever your repo name is) when building:
BASE_PATH="/blog" npm run build