Content and front matter
Each page is a Markdown file. The block at the top, between two lines of three dashes, sets its title, layout and any extra fields your layout reads.
---
title: Hello
layout: post
---
Your text starts here.
Every guide and reference entry is listed here. New to Cinder? Start with the quick start, then come back for the config keys.
You need Cinder installed first. The install page covers each route.
$ cinder init site
$ cd site
$ cinder serve
Open the address that serve prints. Edit a Markdown file and the browser reloads on its own.
Cinder reads cinder.toml if it exists. Every key below is optional, and the defaults work for a small site.
| Key | Type | Default |
|---|---|---|
site.title | string | the folder name |
build.out | path | public |
content.dir | path | content |
serve.port | integer | 4000 |
A layout is one HTML file in layouts/. Pages pick a layout with a layout: line in their front matter. Shared pieces such as the header live in layouts/_partials/ and are included by name.
Each page is a Markdown file. The block at the top, between two lines of three dashes, sets its title, layout and any extra fields your layout reads.
---
title: Hello
layout: post
---
Your text starts here.
A plugin is an executable named cinder-* on your PATH. Cinder sends it the site as JSON on stdin and reads the changed files back as JSON on stdout. The protocol is the whole API, so plugins can be written in any language.
| Command | What it does |
|---|---|
cinder init [dir] | Creates a starter site in a new or empty folder |
cinder build | Writes the finished site to the output folder |
cinder serve | Serves the site locally and rebuilds on save |
cinder clean | Deletes the output folder and nothing else |
cinder version | Prints the version, platform and build date |
Cinder writes plain files to the output folder. Upload that folder to any static host. There is no server to run and no runtime to keep patched.