back to blog
workflow1 min read

How I publish on this site

On this page

Every post on this site is a single .mdx file in content/blog/. To publish, I create a file with some frontmatter and push it to GitHub. Vercel rebuilds the site automatically — no CMS, no database, no admin panel.

---
title: My new post
date: "2026-07-08"
summary: One line shown in the post list.
category: workflow                     # optional — becomes a filter pill on /blog
image: /images/blog/my-thumbnail.png   # optional — shows in the list + top of post
---

Post body goes here. Regular **markdown** works.

Images

Drop a file into public/images/ and reference it like any markdown image:

A placeholder image demonstrating image support

Videos

Because posts are MDX, they can use React components. <YouTube id="..." /> embeds a video (this one is a classic — you know what it is before you press play):

Code

Code blocks render in monospace with a bordered surface:

#include <bits/stdc++.h>
using namespace std;

int main() {
    cout << "hello from a code block" << endl;
}

That's the entire workflow. The file is the post.