Starting This Blog
1 min read
#Announcement#Next.js
Introduction
This blog runs on Next.js 16 and Cloudflare Workers.
Every post is a Markdown file managed in the repository — publishing is just a git push.
Why build-time rendering?
Cloudflare Workers does not allow eval / new Function at runtime.
So Markdown is converted to HTML at build time, with syntax highlighting baked in.
// velite processes content type-safely at build time
const posts = defineCollection({
name: "Post",
pattern: "blog/**/*.md",
schema: s.object({
title: s.string(),
date: s.isodate(),
body: s.markdown(),
}),
});
At runtime the server only injects HTML — fast and Workers-compatible.
What's next
- Project write-ups
- Notes on tricky technical problems
- Things I learn along the way
Thanks for reading!