pebble
TOC »
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/