manifest.json Reference
The manifest.json file configures your website package.
Basic Structure
{
"pages": [...],
"cmsTemplates": {...},
"defaultHeadHtml": "...",
"defaultBodyEndHtml": "..."
}
Pages Array
"pages": [
{
"path": "/",
"file": "pages/index.html",
"title": "Home",
"editable": true
},
{
"path": "/about",
"file": "pages/about.html",
"title": "About Us"
}
]
Page Properties
| Property | Required | Description |
| path | Yes | URL path (e.g., "/", "/about") |
| file | Yes | Path to HTML file |
| title | No | Page title for CMS |
| editable | No | Enable inline editing |
CMS Templates
"cmsTemplates": {
"blogIndex": "templates/blog_index.html",
"blogDetail": "templates/blog_detail.html",
"blogIndexPath": "/blog",
"blogDetailPath": "/blog",
"teamIndex": "templates/team_index.html",
"teamIndexPath": "/team"
}
Template Properties
| Property | Description |
| {slug}Index | Template for listing page |
| {slug}Detail | Template for detail page |
| {slug}IndexPath | URL for listing |
| {slug}DetailPath | URL prefix for details |
Head/Body Injection
"defaultHeadHtml": "<link href='fonts.css' rel='stylesheet'>",
"defaultBodyEndHtml": "<script src='analytics.js'></script>"
Full Example
{
"pages": [
{ "path": "/", "file": "pages/index.html", "title": "Home" },
{ "path": "/about", "file": "pages/about.html", "title": "About" },
{ "path": "/contact", "file": "pages/contact.html", "title": "Contact" }
],
"cmsTemplates": {
"blogIndex": "templates/blog_index.html",
"blogDetail": "templates/blog_detail.html",
"blogIndexPath": "/blog",
"blogDetailPath": "/blog"
}
}