swf (static web framework) is a simple web framework for generating static websites from a markdown file tree. It only depends on ksh, standard Unix userland tools (such as grep, sed, ls, etc.) and smu as a markdown interpreter.
- simple code
- easy configuration
- can be used with any other markup tool
- generates a menu for site navigation
- website pages can be edited with your favorite editor and stored under revision control
$ hg clone https://bitbucket.org/jrick/swf
A directory represents a section of the website. Each directory should have a markdown file named index.md which is used as the main page for that section. The index.md in the root directory of the site represents the home page. Other markdown files can be added to a directory for other pages within that section.
For example, to create a section called "papers" with two papers called "paper1" and "paper2", follow this directory structure:
site/ +- index.md +- papers/ +- index.md +- paper1.md +- paper2.md +- style.css +- swf.conf
Building the website is then as simple as running
swf site. A new
directory "site.static/" will be created containing the website.
To automate the process of building and moving the site, use a Makefile or write a shell script around swf.
swf is a fork of sw