Page Front Matter Reference
Every Markdown file in content/ can include a YAML front matter block between --- delimiters at the top of the file. These fields control how SuCoS processes and renders the page.
Example
---
Title: Building a Blog with SuCoS
Date: 2026-03-10
PublishDate: 2026-03-10
ExpiryDate: 2027-03-10
Tags:
- tutorial
- blog
Type: blog
Draft: false
Weight: 10
Aliases:
- /old-url/building-blog
URL: /tutorials/building-a-blog
Params:
Author: "Jane Smith"
HeroImage: "/images/hero.jpg"
---
Page content here...
Fields
Title
The page's display title. Used in templates as {{ page.Title }}, in browser tab titles, and in list pages.
Date
The content date. Typically used as the publish date for blog posts. Pages with a future Date are excluded from builds unless you pass --future.
Date: 2026-03-10
PublishDate
The date the content should become publicly visible. Defaults to Date if not set.
ExpiryDate
After this date, the page is excluded from builds unless you pass --expired.
Lastmod
The date of the last meaningful edit. Does not affect visibility — used for display and sitemaps.
Tags
A list of tags. SuCoS automatically generates a /tags/ section with a page for each unique tag.
Tags:
- tutorial
- beginner
Draft
When true, the page is excluded from normal builds and sucos serve. Use sucos build --draft or sucos serve --draft to include drafts.
Weight
An integer used to sort pages within a section. Lower weight comes first. Useful for documentation pages where alphabetical or date order isn't right.
Type
The content type. Defaults to the section name. Used for template lookup — a page with Type: landing will first look for a landing/single.html template before falling back to _default/single.html.
URL
Overrides the computed URL for this page.
URL: /tutorials/building-a-blog/
Aliases
A list of old URLs that should redirect to this page. SuCoS creates HTML redirect files at each alias path.
Aliases:
- /old-path/my-post
- /another/old-url
Params
A map of custom key-value pairs. Access them in templates with {{ page.Params.myKey }}. Useful for per-page metadata that doesn't fit standard fields.
Params:
HeroImage: "/images/hero.jpg"
ReadingTime: 5
ShowComments: true