SkeleSite documentation

SkeleSite generates web pages in a directory of your choice, starting from text files, a template and optional configuration. See the reference for technical details.

System requirements

Installation

SkeleSite comes as a single shell script. On Linux you can simply make it executable and copy it to /usr/local/bin. The examples below assume that.

It’s safe to keep a copy in your site directory and run it from there. SkeleSite will exit with an informational message if you try to run it as a CGI script.

Quick start

SkeleSite is a command-line program (sorry):

mkdir my-site  
cd my-site  
skele -I _site  
skele _site

(The source directory argument is mandatory for safety reasons. See above.) Or to shoot from the hip:

mkdir my-site  
cd my-site  
echo "Hello, world!" > index.md  
skele .

Web pages are generated in the current directory by default. You can also put your source files there, but be careful! Better to keep them separated.

Frequently Asked Questions

How can I add metadata to pages?

It’s not currently possible to add metadata like a description or keywords. This is a two-part technical limitation.

Do pages and posts have to be written in Markdown?

Absolutely not! SkeleSite can use any markup format with a suitable command line tool; markdown is the default due to its popularity, and lowdown or cmark are drop-in replacements. You can also try txt2tags for example by setting SKEL_MARK to txt2tags -t html --no-headers -o -, but it’s untested.

Tip: use the cat system command (it’s required anyway) as processor and *.htm as a file extension to write your site in plain HTML.

What’s the point of SkeleSite? Why make not one but two new SSGs?

While working on SlenderSite, I wrote this in a blog post:

For one thing: you don’t need half the Python ecosystem to run a text file through the markdown utility and stick the output into a template. That can be done with a few lines of shell script and Awk. (It would be a fun project to try later.)

After that, I just had to put my money where my mouth is and prove it’s really doable. Turns out it is! The new script isn’t even far behind.

Besides, PHP can be a pretty big dependency. Shell script is right there.