← All posts

Hello, world

21 October 2026

This is the first post on a blog written in Common.

Every post lives in a SQLite table. The page asks for them with one query, and shows each one by walking the list. The only JavaScript on this site is the optional editor hints on the Quest page.

The address of this post is a clean URL. The server maps /blog/hello-world to blog.html, and the page reads the slug from the path.

The whole blog, list and post, is this
set slug to last of split path by "/"
if slug is "blog"
  set posts to ask database "select * from posts order by posted desc"
otherwise
  set posts to ask database "select * from posts where slug = ?" with slug
end

to show_post post
  show
    <h2><a href="/blog/[slug of post]">[title of post]</a></h2>
    <p>[first of paragraphs of body of post]</p>
  end
end

for each post in posts
  show_post post
end