hblog-ng

[[hblog-ng]] is my personal digital garden. It is the third blog in a line that started with [[hblog]] in 2008 and its rewrite [[hblog-django]]. This time the goal was simple: stop building the platform and start writing.

A normal blog is a flat list of posts sorted by date, which is not how I actually think. Here every note is a node, and the wikilinks between notes are the edges. The shape of the site comes from the links between ideas, not from the calendar.

The content lives in an #obsidian vault of plain #markdown, so I write offline in a tool I already use every day. A build step turns those notes into a statically generated site with #nextjs, and I use #typescript across the codebase. There is no server. Everything is rendered at build time.

## Math

I write about things that need real notation, so the build renders #latex with KaTeX straight from the markdown:

$$
H(X) = -\sum_{i=1}^{n} p(x_i) \log_2 p(x_i)
$$

## Diagrams

Diagrams are written as plain text with #mermaid and rendered at build time, so a drawing sits next to the words that describe it and gets versioned with everything else:

```mermaid
graph LR
A[Obsidian Vault] -->|Parse| B(Graph Data)
B -->|Build| C{Next.js}
C -->|Deploy| D[Static Site]
```

## PGP signatures

Every post is signed with my #pgp key, so a reader can verify the text has not been changed. It is a small thing, but it fits a site that hosts my own writing and research.

## Command palette

A command palette opens with `Cmd+K` and jumps to any note, project, or tag. It works the way a terminal does, which is how I prefer to move around.