2.1 KiB
static site scripts
Description
This is a fork of the original project enabling XHTML 1.1 support.
As well featuring the gensite
script and the ability to source configuration files like Saait and filenames as UUIDs inherited from Logarion
Control-C/~novaburst is a site generated using those scripts
Usage
mkpage <switch> <title> <description> <author>
gensite
Features
- Small and simple to understand (I hope).
- Small amount of dependencies, requires a POSIX shell and basic Linux/Unix utilities[1][2].
- Markdown supported by default[0], easily extendable to add your <favorite markup language>.
- RSS and Atom output support.
- Sitemap support (sitemap.xml and urllist.txt).
Pages
Pages are defined as shellscripts containing the metadata, for example the file pages/html-example.sh. The content filename is the basename of the shellscript with the type of markup file appended to it (.html or .md), for example the file pages/html-example.html.
If mkpage
is used the filename is a value from openssl rand -hex 3
and a .md file with the same name.
Example: ddc7ac.sh + ddc7ac.md => output/ddc7ac.html
(either LibreSSL or regular OpenSSL should work)
Markdown is supported. By default "smu"[0] is set as a Markdown processor, to change this set $markdown to your favorite Markdown-to-HTML converter in the file gensite
Dependencies
cat, cut, date, mkdir, printf, read, sed, sh (POSIX), test, tr
License
ISC, see LICENSE file.
References
- [0] smu - markdown processor: https://github.com/Gottox/smu
- [1] sbase - http://git.suckless.org/sbase/
- ubase - http://git.suckless.org/ubase/
- [2] busybox - http://www.busybox.net/
- [3] 9base - http://tools.suckless.org/9base/
- [4] plan9port - https://9fans.github.io/plan9port/
Extras
- The sample CSS file included is envs's default CSS file