Theme development standards
EdgePress guide
Keep content portable and themes focused.
A theme shapes the shared layout and the appearance of page elements. Page copy and media stay with the site content so a theme can change without rewriting pages.
Separate page content from presentation
config.yml
content/
pages/home/en.md
assets/images/home-banner.webp
themes/
lumen/
theme.json
layouts/layout.html
layouts/partials/
assets/style.css
Store media with content
Build an accessible shared layout
Give each theme a clear visual direction
Change and review a theme
Show articles for one project
[
{
"columns": 1,
"cells": [
[
{
"type": "post-list",
"title": "EdgePress articles",
"category": "edgepress",
"count": 6
}
]
]
}
]:root { font-family: var(--edgepress-font-sans); }
h1, h2 { font-family: var(--edgepress-font-serif); }
pre, code { font-family: var(--edgepress-font-mono); }
!document[Annual report](/documents/report.docx)
!document[Shared PDF](https://files.example/download/123){format=pdf service=documents}
[
{
"type": "document",
"title": "Annual report",
"src": "/documents/report.xlsx"
}
][
{
"columns": 1,
"cells": [
[
{
"type": "document",
"title": "Report",
"src": "/documents/report.pdf"
},
{
"type": "media-viewer",
"title": "Photos and video",
"items": [
{
"type": "image",
"src": "/images/photo.webp",
"originalSrc": "/images/photo-original.webp",
"alt": "Detail of the project interface"
},
{
"type": "video",
"src": "/videos/walkthrough.mp4",
"poster": "/images/poster.webp",
"label": "Project walkthrough",
"captions": "/videos/walkthrough.en.vtt",
"captionLanguage": "en"
}
]
}
]
]
}
]