How ForgeCMS works
The idea in one sentence
ForgeCMS takes your texts from a Git repository on Codeberg and turns them into web pages. No database, no admin area, no plugins.
The three building blocks
1. The content (on Codeberg)
Your texts live as Markdown files (.md) in a repository on Codeberg. Markdown is ordinary text with a few characters for headings, bold text and links. You describe the layout of a page in small SML files (.sml): which heading, which image, which text.
2. The configuration (on the server)
The file app.sml says what your website is called, which menu it has, which pages exist and where the content lives.
3. ForgeCMS (on the server)
A small program that runs all the time. When someone opens your site, ForgeCMS fetches the matching files from Codeberg, puts them together and delivers the finished page. It remembers the files (cache) so everything stays fast.
What this means for you
- You can edit texts in the browser. Open the file on Codeberg, change the text, save — a few minutes later the change is online.
- Your content belongs to you. It's plain text files. You can move at any time, to another server or another system.
- Little can break. Without a database and plugins there are no plugin security holes and no update worries.
- Every change is traceable. Git keeps every version. A mistake can be undone with one click.
A look at a page
This is a simple page in SML:
Page {
title: "About me"
Section { class: "py-5"
Heading { level: "1" text: "Hi, I'm Anna" }
Markdown { src: "about-me.md" }
}
}
And about-me.md simply contains your text. You don't have to learn this by heart: Claude writes these files for you. But it helps to know roughly what's in them — then you can change small things yourself later.