Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A static website publishing engine in JS / node

branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

README.mkd

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.

Something went wrong with that request. Please try again.