about summary refs log tree commit diff stats

shite

what it says on the tin

shite shits out a site using posix sh, awk, and cp—that’s it. Of course, it is shite. But it’ll make a site.

use

make a site directory somewhere on your system and fill it with HTML files. these can be just the body parts of these files—they will be enclosed with a template, which is discussed below. you can also ignore enclosing paragraphs with <p> tags—paragraphs not starting with < will automatically be enclosed with them.

when you run shite, it will collect all HTML files, run them through various templates, and shit them out into the out/ directory in the site directory. each page will be sent through .template.html and into out/PAGE/index.html, where PAGE is the filename without .html. Then they’ll be collected into an index using .index.html, and into an RSS 2.0 feed using .feed.xml.

.template.html, index.html, and .feed.xml are treated as sh heredocs. that is, any $variable, $(function), or the like will be expanded. title, body, and pubdate are provided for convenience; you can define others in .shite.sh. a very simple template could look like this:

<!DOCTYPE html>
<title>$(title)</title>
$(body)

every other file in the site directory—that is, any file or directory that isn’t an HTML or XML file—will be copied to out/ recursively, so go nuts!

installation

# make install

invocation

invoking shite is simple:

$ shite [-d DOMAIN] [-C DIRECTORY]

DOMAIN is your site’s domain for the feed generator; the default is the name of the site directory. DIRECTORY will change the directory before generating a site, so you can run shite from anywhere.

license

Copyright (C) 2022 c. Duckworth and licensed under the Good Choices License. See COPYING for details.

contributing

Send me an email with comments, complaints, and merge requests. if you want.

testimonials

oh dang that is fancy
m455
hehe, nah it’s shite
acdw