Skip to main content

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

Project description

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/)

  • 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.

History

0.6 (2013-07-26)

  • Support for multi-level template directories.

  • Skip non-HTML files in templates/ rather than raising NonHTMLFileException.

0.5 (2013-07-25)

  • Improved static site generation API - better parameters are used.

  • Files in the root of assets/ (or the asset directory) now get copied over to the output.

  • Much more documentation.

0.4.2 (2013-07-21)

  • Make reading of JSON files from json/ optional.

0.4.1 (2013-07-19)

  • Fix reading of JSON files from json/.

0.4 (2013-07-19)

  • Project layout is now:

    my_repo/
    ├── project/       <--------- input
    │   ├── assets/
    │   │   ├── css/
    │   │   ├── js/
    │   │   └── img/
    │   ├── json/
    │   │   └── stuff.json
    │   └── templates/
    │       ├── base.html
    │       ├── index.html
    │       └── about.html
    └── www/          <---------- output (generated)
        ├── index.html
        ├── about/
        │   └── index.html
        ├── css/
        ├── js/
        └── img/
  • Assets are copied over to www/ during site generation.

  • If the www/ directory was previously created, it prompts the user and then deletes it before site regeneration.

  • Templates starting with base are not generated as individual pages. They are meant to be extended in other templates.

0.3 (2013-07-18)

  • Graceful shutdown/restart of dev server.

  • Required input and output dir arguments.

  • Optional port argument.

  • Improved server start/stop messages.

  • Major internal refactor.

0.2.1 (2013-07-15)

  • Fixes to setup.py.

0.2.0 (2013-07-15)

  • Data from .json files now gets read as template context data.

  • Tested (and passing!) on Python 2.6, 2.7, 3.3, PyPy.

0.1.1 (2013-07-10)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

complexity-0.6.tar.gz (11.0 kB view details)

Uploaded Source

File details

Details for the file complexity-0.6.tar.gz.

File metadata

  • Download URL: complexity-0.6.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for complexity-0.6.tar.gz
Algorithm Hash digest
SHA256 618605ddd27a5a3bda08d856ee98209ce1822fbd8608676e495768e8146c6192
MD5 dfcaf4a7af002c17fdbc792b631971a2
BLAKE2b-256 ca846e602c879aba4b9e8f44631678473577842c1930acf60cc87b357040a247

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page