Contents
- Domma CMS User Manual
- 1. Using the CMS
- 2. Tutorials
- 3. Components
- 4. API Reference
- 5. Tools
Pages
Updated by Darryl Waterhouse on 29 September 2026 · 2 min read
Pages are stored as Markdown files in content/pages/. Each file has a YAML frontmatter block at the top followed by the page body in Markdown, with shortcodes anywhere in the body. Edit them at Content > Pages.
URL mapping
| File path | Public URL |
|---|---|
content/pages/index.md | / |
content/pages/about.md | /about |
content/pages/services/index.md | /services |
content/pages/services/design.md | /services/design |
content/pages/404.md | Shown for any missing page, once published |
Changing a page's URL Path in the editor moves the file. Menu links to the page follow it, and SEO (when switched on) adds a redirect from the old address.
Frontmatter reference
---
title: My Page
description: A short description for search results.
status: published # published | draft
layout: default # a layout from config/presets.json
visibility: public # public | private | a role | =a role | a list
project: core # blank = inherit from the URL
tags: [one, two] # editorial tags - weighted in site search
sortOrder: 99
category: Guides
theme: ocean-light # optional per-page theme
---
# Page heading
Your Markdown content goes here.
The editor's Page Details tab sets all of these, and the SEO tab sets the page's search title and description.
Drafts and previews
A page with status: draft answers 404 to visitors. Signed in with permission to view pages, you see the real page at its real address with a draft banner and a Publish button. New pages start as drafts.
- Live Preview in the editor shows the unsaved page as it will look, at desktop, tablet or phone width.
- Share link (in Live Preview) makes an expiring link that shows one unpublished page to someone with no account. You can withdraw it at any time.
Who can see a page
visibility takes public (the default), private (the level-0 role only), a role name ("that role and above"), =role ("that role only"), or a list of these. A visitor who may not see a page gets a 403. A page in a disabled project answers 404 to everyone. See Users & Roles for how the role ladder works.
Navigation
A page is added to the navbar or footer in Content > Menus, not in the page editor. See Navigation.
Layouts
Layouts are defined in config/presets.json: default, with-sidebar, minimal, blank, landing, article, product, dashboard and wide. Pick one per page in the editor; new pages use default (pageDefaults in config/content.json). Manage them at System > Layouts.
History
Every save keeps a version. The editor's History tab lists them with their date and time (dd/mm/yyyy HH:mm) and lets you compare it with the editor, restore or delete it, or save a named version. Restoring saves a snapshot of the current page first. Unsaved work is kept as a draft in your browser and offered back if you return.
Custom CSS
The editor's CSS pane edits content/custom.css, which applies to the whole site, not just the page you are on. It is also under System > Site Settings > Custom CSS.