runv.club docs
contents

Start here

Your corner of the internet

Writing

Photos

Make it yours

Together

Tools and services

Your account

Everything at once

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.