Hello World: Building This Blog

· 1 min read

Welcome to my blog. This is the first post, and it serves as both an introduction and a technical showcase of what this platform can do.

Why Build a Blog From Scratch?

There are plenty of blogging platforms out there. But I wanted something that was:

  1. Minimal — no bloat, no tracking, fast page loads
  2. Mine — full control over the design and features
  3. Markdown-native — write posts in .md files, commit, deploy

Code Blocks

Here’s an example of syntax-highlighted code. This is a Rust snippet:

fn fibonacci(n: u64) -> u64 {
    match n {
        0 => 0,
        1 => 1,
        _ => fibonacci(n - 1) + fibonacci(n - 2),
    }
}

fn main() {
    for i in 0..10 {
        println!("fib({}) = {}", i, fibonacci(i));
    }
}

And a TypeScript example:

async function fetchPosts(): Promise<Post[]> {
  const response = await fetch('/api/posts');
  const data = await response.json();
  return data.sort((a, b) => b.date.localeCompare(a.date));
}

Footnotes

This blog supports footnotes[^1], which are useful for tangential observations that would interrupt the main text.

[^1]: Like this one. Footnotes are rendered at the bottom of the post using remark-gfm.

Links and Formatting

You can use bold, italic, strikethrough, and hyperlinks. Inline code also works.

Blockquotes look like this. Useful for quoting sources or highlighting key points.

Tables

FeatureStatus
Markdown postsDone
Syntax highlightingDone
Dark modeDone
View counterDone
SearchDone
CommentsDone

What’s Next

More posts, of course. Stay tuned.

Comments

© 2026 Jan's Blog