Hello, world
What this is
A post is a Markdown file in content/. The block at the top is the front matter: title, date, slug and description are required. slug becomes the URL, posts/hello-world/ here.
Run scripts/publish.sh (or scripts/publish.ps1 on Windows) and this file turns into a page, the landing page, feed and sitemap get updated, and a commit is proposed.
Things a post can hold
Code blocks keep their whitespace:
$ scripts/publish.sh
publish hello-world
Lists, quotes and tables:
- One
- Two
- Nested
A quote.
| Key | Value |
|---|---|
published |
false keeps a draft off the site |
Images are picked up automatically. The one below was written as an ordinary Markdown image pointing at a URL on another site. On publish the script downloaded it into assets/posts/hello-world/ as 01.png and rewrote the link to point there. A local path such as , relative to content/, is copied the same way.

Raw HTML passes through, so <canvas>, <script> and <style> tags work when a post needs them. The square below is drawn by a few lines of script at the end of this file.