chickadee » pebble

pebble

Description

An opinionated static file generator for authoring simple websites. This software is licensed AGPL-3.0-only.

Pebble converts a source directory SOURCE-DIR into a website root directory ROOT-DIR. Source Markdown, SXML, and HTML files are wrapped with <article> and converted to site root HTML files with reasonable meta information. All other files are copied or linked as-is.

Pebble sites can be customized using four optional files:

SOURCE-DIR/static/pebble.css
stylesheet included in <head>
SOURCE-DIR/static/pebble.js
javascript included in <head>
SOURCE-DIR/static/pebble-pre.md
markdown (including literal HTML) to insert before content (e.g. site header). Not copied to ROOT-DIR.
SOURCE-DIR/static/pebble-post.md
markdown (including literal HTML) to insert after content (e.g. site footer). Not copied to ROOT-DIR.

Bare files without meta info or pre/post content can be generated by prefixing Markdown, SXML, or HTML filenames in SOURCE-DIR with an underscore, which is stripped in ROOT-DIR.

A static pebble executable can be generated as follows (ideally with musl libc):

chicken-install pebble -D pebble-static

Options

 -h, --help               print usage
 --source=SOURCE-DIR      specify source directory (default ./source)
 --root=ROOT-DIR          specify site root directory (defoult ./site)
 --copy=METHOD            how to copy files to ROOT-DIR (link, copy, symlink)
 -f, --force              force re-write unmodified files
 -w, --watch              watch SOURCE-DIR for changes and update ROOT-DIR
 -s, --server             start a spiffy server with ROOT-DIR as root-path
 -p, --port=PORT          port for spiffy server
 -u, --user=USER          user for spiffy server
 -g, --group=GROUP        group for spiffy server

Note that some options are only available if the spiffy or inotify eggs were installed at pebble build time, and are not shown otherwise.

Source

Source code and bug reports at https://sr.ht/~dieggsy/pebble/