blog
markdown in ~/blog, on web, gemini and gopher
in the terminal: help blog
Write markdown in ~/blog and it becomes a blog, on the web, on gemini and on gopher at once:
https://runv.club/~you/blog/ gemini://runv.club/~you/blog/ gopher://runv.club/1/~you/blog From your own machine: scp post.md runv.club:blog/ On the server: blog new my-first-post
The server rebuilds within 3 minutes, or run blog build to see it now. A post can start with a small header, all optional:
--- title: My first post date: 2026-10-25 draft: true ---
Without a title, the first "# heading" is used. Drafts aren't published.
Want it to look like you? Put a style.css in ~/blog. It goes up with the posts and comes after the default style, so you only write what you want to change. A plain file of up to 64 KB; delete it to go back. Gemini and gopher stay as they are.
Want more than colors? blog template copies the page itself to ~/blog/template.html, and then the whole page is yours: header, menus, scripts, where everything goes. It's a jinja2 template:
kind "index" for the list of posts, "post" for a post
title the page title
post on a post: post.title, post.date, post.content, post.url
newer, older the posts next to this one, or nothing
posts every post, newest first, each like post above
user, blog_url, feed_url, home_url
style the link to your style.css, if you have one
default_css our CSS, to keep or to leave out
{% for p in posts %}<a href="{{ p.url }}">{{ p.title }}</a>{% endfor %}
If the template breaks, the pages stay as they were and the reason goes in ~/blog/template.err. Delete template.html to go back to ours.
Your posts also show up on https://runv.club/planet/ and the home page.