coleslaw/docs/config.md
Brit Butler 7ba1e0d16a Support extensionless sites via nil page-ext rather than index-ext.
Index-ext was a bit of a kludge used to support symlinking the index.html rather
than due to any real need for indexes to have different extensions than other
documents. Instead of an empty string to indicate no extension, we will use nil.
We hardcode "index.html" and use the first numeric-index's page-url to not make
assumptions about the user's routing scheme.
2023-06-30 16:28:24 -04:00

37 lines
1.9 KiB
Markdown

# Configuration
## Where
Coleslaw needs a `.coleslawrc` file to operate properly. That file is usually located at
$HOME/.coleslawrc but may also be placed in the blog repo itself.
## What
The only *required* information in the config is:
* `:author` => to be placed on post pages and in the copyright/CC-BY-SA notice
* `:deploy-dir` => for Coleslaw's generated HTML to go in
* `:domain` => to generate absolute links to the site content
* `:routing` => to determine the URL scheme of content on the site
* `:title` => to provide a site title
* `:theme` => to select one of the themes in "coleslaw/themes/"
It is usually recommend to start from the [example config][ex_config] and pare down from there.
[ex_config]: https://github.com/redline6561/coleslaw/blob/master/examples/example.coleslawrc
## Extras
There are also many *optional* config parameters such as:
* `:charset` => to set HTML attributes for international characters, default: "UTF-8"
* `:feeds` => to generate RSS and Atom feeds for certain tagged content
* `:excerpt-sep` => to set the separator for excerpt in content, default: `<!--more-->`
* `:lang` => to set HTML attributes indicating the site language, default: "en"
* `:license` => to override the displayed content license, the default is CC-BY-SA
* `:page-ext` => to set the suffix of generated files, default: "html". "" for no extension
* `:plugins` => to configure and enable coleslaw's [various plugins][plugin-use]
* `:separator` => to set the separator for content metadata, default: ";;;;;"
* `:sitenav` => to provide relevant links and ease navigation
* `:staging-dir` => for Coleslaw to do intermediate work, default: "/tmp/coleslaw"
* `:title-fn` => to modify document slugs after they are generated, default: `'identity`
[plugin-use]: https://github.com/redline6561/coleslaw/blob/master/docs/plugin-use.md