Minimalist personal site + blog. Pure HTML/CSS/JS — no build step.
cd ofeklevin-site
python3 -m http.server 8000
# open http://localhost:8000(Must be served over HTTP, not opened as file:// — the blog uses fetch.)
- Drop a markdown file in
posts/, e.g.posts/my-finding.md. - Add an entry to
posts/posts.json(newest first doesn't matter — it sorts by date):
{
"slug": "my-finding",
"title": "My finding",
"date": "2026-06-10",
"summary": "One-line teaser shown in the list.",
"draft": false
}slugmust match the filename (without.md) and bea-z0-9-.- Set
"draft": trueto hide a post from the listings. - The post renders at
post.html?p=my-finding.
Search the repo for these placeholders and replace them:
YOUR_TWITTER— your Twitter/X handle (inindex.html)YOUR_EMAIL@example.com— your email (inindex.html)
You can also edit the bio paragraph in index.html.
Any static host works:
- GitHub Pages — push to a repo, enable Pages on the branch root.
- Cloudflare Pages / Netlify — point at the folder, no build command, output dir
/.
index.html home / hero / recent posts
writing.html full post archive
post.html renders a single post (?p=slug)
posts/ markdown posts + posts.json manifest
assets/ style.css, main.js