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