tsunami is a self-contained static site generator written in perl. it takes a collection of markdown files (among others) and transforms them into simple, lightweight html that can be styled by the user. however, it also includes a default stylesheet.
this compiler is named "tsunami" because its code is a disaster.
unless indicated otherwise in the headers of individual files, the contents of this repository are released under the Affero General Public License v3.
tsunami's only dependency is a working Perl 5 installation.
the first thing to understand is how your tsunami project is laid out. its root directory contains three folders (
out) and the scripts
src directory contains your input files. in other words, whenever you want to add something to the site, you'll do it by putting it in here. by default, it also contains the
doc directory, which holds this documentation. you may want to move it somewhere else before you publish your real site, but leaving it in place won't do any harm.
- see: input files
cfg directory contains top-level configuration for the site. currently the only items here are
sitename. both of these files can contain comments, which are text ignored by the software that builds the site. a line can be marked as a comment by starting it with whitespace (spaces or tabs). blank lines are ignored.
linksis used to change the contents of the navigation bar just under the header. take a look at the file for a more detailed explanation of how to use it.
sitenamecontains one or two lines, a title and a subtitle for the site. these are printed at the top of every page.
out only exists if you have run
pub.pl at least once. it contains a generated site ready to upload. never edit files in
out! any changes you make will be overwritten as soon as you regenerate the site.
the program that examines the input files and generates a site from them is
pub.pl. whenever you change the configuration or the contents of
src, you can run
pub.pl to update
out to reflect the changes.
- see: using pub.pl
whenever you run
pub.pl, it iterates over everything in
src and builds a matching directory tree in
out. it populates this tree with the “compiled” form of each file it finds. see input files for more information on this process.
pub.pl is the core of the toolchain and is the only thing you need to start a new tsunami project, as long as you remember to put the configuration and input files in the right place.
up.sh is a script that automates uploading your site to GitHub Pages.