Your own blog — no database, no plugins

Write posts as simple text files, add a photo, done. Readers get a clean list, a page per post and a feed to subscribe to.

What is the blog module?

The blog module adds a blog to any ForgeCMS website: a travel diary, news from your association, a journal of your project. Every post has a title, a date, an optional place and photo, a short teaser and the full text.

See it live: art.ubuntu-pirates.com — the travel diary of a bike journey to Spain, in German, English and Spanish.

What your readers get

  • A clean list of posts, newest first, each with preview picture, date, place and teaser. With many posts the list is split into pages.
  • A page per post with the photo, the full text and links to the previous and next post.
  • A feed (Atom) for feed readers, so readers get new posts automatically, in their language.
  • The latest posts on your start page, if you like — e.g. the last three, with a link to all posts.
  • Share buttons under every post, if you like: WhatsApp, Telegram, Facebook, X, Bluesky, LinkedIn, email and "copy link" — you choose which ones and in which order. On phones there is also a button for the phone's own share menu (Signal, Mastodon and every other installed app). The buttons are plain links: no Facebook scripts, no cookies, no tracking, so no cookie banner either.
  • Fast pages without tracking, readable on every phone, and search engines understand the posts.

How you write a post

Posts live in your content repository, like all other texts of your website. That works in the Codeberg web interface — even from your phone on the road:

  1. Upload a photo (JPG or PNG). The list shows a small preview automatically, so large phone photos don't slow the page down.
  2. Write the text as a Markdown file — headings, bold, links, more photos.
  3. Copy a post block in the list of posts, change title, date and file name, save. Done — the post is online.

The order doesn't matter: the newest post is always on top.

Handy extras

  • Drafts: mark a post as draft and it stays invisible until you remove the mark.
  • Scheduled posts: give a post a date in the future and it appears by itself on that day.
  • Any language: every post can have a translation per language. Missing translation? The original is shown. All button and list texts are yours to choose.

What it costs

€29 one-time, minor updates included. No subscription, no database, no admin login that can be hacked — your posts are plain files in your own repository.

Want a blog on your website?