Cinder

Docs, on one page.

Every guide and reference entry is listed here. New to Cinder? Start with the quick start, then come back for the config keys.

Quick start

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.

Configuration

Cinder reads cinder.toml if it exists. Every key below is optional, and the defaults work for a small site.

KeyTypeDefault
site.titlestringthe folder name
build.outpathpublic
content.dirpathcontent
serve.portinteger4000

Layouts

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.

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.

Plugins

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.

CLI reference

CommandWhat it does
cinder init [dir]Creates a starter site in a new or empty folder
cinder buildWrites the finished site to the output folder
cinder serveServes the site locally and rebuilds on save
cinder cleanDeletes the output folder and nothing else
cinder versionPrints the version, platform and build date

Deploying

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.

Install Cinder