Permalink
Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
36 lines (19 sloc) 1.22 KB

Boxer

Boxer is a static site publisher.

Running Boxer

$ boxer [-vh] input output

What is a static site publisher?

By now lots of people are familiar with the notion of a static blog publishing tool, popularized by tools like Jekyll. They've proved to be an easy and robust means of publishing content. In particular when coupled with support tools like Git or Mercurial.

Boxer derives from these tools, and is simply my own take on how best to construct a generalized version.

How Boxer Works

source

  |
  V

Collection: files -> pre processors -> items

  |
  V

Processing: items -> post processors -> items

  |
  V

Publishing: items -> files

Boxer works by first collecting all the files in the input directory, processing them and storing them for later. It takes hints from the directory structure to add metadata to those files. For instance all files in the directory _templates will be tagged with "templates". This allows us to generalize many of the special cases used in other blog publishers. An interesting side effect of this is that with boxer, all files can be transformed; css, js, or the templates themselves can be manipulated before mapping begins.