Complexity

https://badge.fury.io/py/complexity.png https://travis-ci.org/audreyr/complexity.png?branch=master https://pypip.in/d/complexity/badge.png

A refreshingly simple static site generator, for those who like to work in HTML.

Documentation

The full documentation is at http://complexity.rtfd.org.

Quickstart

Try it out:

$ pip install complexity
$ git clone git@github.com:audreyr/complexity-example.git my_proj
$ cd my_proj
$ complexity project/ www/

Once you’ve done that, open a web browser to http://127.0.0.1:9090 to see the newly generated Complexity static site.

Features

  • Works on Python 2.6, 2.7, and 3.3, and on PyPy.
  • Takes simple HTML templates as input.
  • Data from .json files turns into template context data.
  • Template inheritance, filters, etc. (Brought to you by Jinja2.)
  • Auto-expands .html file URLs into cleaner URLs (e.g. about.html gets expanded to /about/)
  • Minifies .html files
  • Can optionally be used as a library instead of from the command line. See Using Complexity as a Library for details.

Best Used With

Complexity is designed to be used with these packages:

  • Simplicity: Converts ReStructuredText into JSON, which Complexity can use as input.
  • A Lot of Effort: Deploys a static website (e.g. the output of Complexity) to Amazon S3.
  • Cookiecutter: Creates projects from project templates.

Sure, they could have all been built into Complexity, but decoupling them seemed like a nice thing to do.

Community

  • Stuck? Don’t know where to begin? File an issue and we’ll help you.
  • We love contributions. Read about how to contribute.