This site uses GitHub Pages’ built-in Jekyll support. That means you can write blog posts in Markdown, and GitHub turns them into webpages after you push.
You do not need to install React, Hugo, npm, or a local web-development toolchain.
The workflow
- Duplicate
blog/template.md. - Move the copy into
_posts/. - Rename the copy with this format:
YYYY-MM-DD-short-title.md. - Replace the title, description, category, and body text.
- Commit and push the file.
- GitHub Pages automatically publishes it and adds it to the blog index.
Example file name
_posts/2026-05-02-my-new-note.md
Front matter
Every post starts with a small metadata block:
---
layout: post
title: "Readable Post Title"
description: "One sentence for the blog index."
category_label: "Research Note"
date: 2026-05-02
updated: 2026-05-02
---
Keep the description concrete. It appears on the blog index, so it should tell a reader what the post is about without opening the page. Set updated to the same day as date when you first publish the post, then change updated when you make a meaningful revision later.
Basic Markdown
Use normal paragraphs for text. Use ## for major section headings and ### for subsections.
Use - for bullet lists, and use backticks for code-like terms such as u_t, Sigma, or _posts.
Math
Inline math uses dollar signs, like $X^\top \Sigma X$.
Display math uses double dollar signs:
$$
V = X^\top \Sigma X
$$
For derivations, include the intermediate steps. A reader should be able to see where the final expression comes from.
Images
Put blog images under assets/blog/short-post-name/.
Then reference them with an absolute site path:

Place each image close to the paragraph that explains it. Do not collect all figures at the end unless the post is explicitly an appendix.
Interactive widgets
For small interactive demos, HTML, CSS, and JavaScript can live directly inside the Markdown post. Keep the widget self-contained:
- give the outer element a unique class or id;
- avoid global variable names when possible;
- include a short instruction before the widget;
- test the embedded script with
node --checkbefore pushing.
References
End research posts with ## References and notes.
Use this section for papers, books, notebooks, code, datasets, and generated assets. If an image is AI-generated, say so directly in either the caption or the references section.