Content
Content in SuCoS is Markdown files in the content/ directory. The directory layout maps directly to URL structure, and YAML front matter at the top of each file provides metadata.
Directory structure
content/
├── _index.md → / (home page)
├── about.md → /about/
├── blog/
│ ├── _index.md → /blog/ (section list page)
│ ├── first-post.md → /blog/first-post/
│ └── 2024/
│ └── trip.md → /blog/2024/trip/
└── docs/
├── _index.md → /docs/
└── getting-started.md → /docs/getting-started/
_index.md files define section pages (list pages that group child content). Any other .md file is a regular page rendered with your single.html template.
Front matter
Every Markdown file can open with a YAML front matter block:
---
Title: My First Post
Date: 2026-01-15
Tags:
- tutorial
- beginner
Draft: false
---
Your Markdown content starts here.
Key fields:
| Field | Description |
|---|---|
Title |
Page heading; used in templates and <title> tags |
Date |
Publication date; pages with future dates are excluded by default |
Tags |
List of tags; creates tag pages automatically |
Draft |
Set to true to exclude from normal builds |
Weight |
Integer used for manual ordering within a section |
Params |
Map of any custom values you want available in templates |
For the complete reference, see Page front matter.
Drafts
Set Draft: true to hide a page from normal builds and the serve output:
---
Title: Work in Progress
Draft: true
---
Preview drafts locally with:
sucos serve --draft
Page bundles
You can group a page with its own resources (images, PDFs, data files) by creating a directory with an index.md:
content/blog/my-post/
├── index.md
├── hero.jpg
└── data.csv
The directory becomes /blog/my-post/ and the assets are available at /blog/my-post/hero.jpg.