Skip to content
Static website generator for sciencey people
Python HTML Makefile
Branch: master
Clone or download

Latest commit

Latest commit 76affff Mar 30, 2020


Type Name Latest commit message Commit time
Failed to load latest commit information.
docs python 3.6 required Jan 19, 2017
pyblue updated and pinned to libraries Apr 2, 2019
tests moving pyblue from mako to django templates Nov 21, 2014
.gitignore simplified parser Nov 23, 2014
LICENSE.txt verbose mode, last_modified attribute now available in the templates Aug 22, 2013
Makefile work on documentation Jul 18, 2016 Updated readme Apr 24, 2019
README.rst bugfixes Jul 15, 2016 preparing 3.0 Apr 12, 2016 Bump bleach from 3.1.2 to 3.1.4 Mar 30, 2020

Welcome to PyBlue

A simple static site generator.

Why another one static generator?

There are so many static site generators already.

Alas I found most options to be way too complicated. Each has many conventions and rules: put this here put that there, call it this or that. It was too tiring to keep up.

Then as I was developing courses over the years I found that I could not easily reorganize the site, the links would all break when I moved files around. Very annoying.

Then when I wanted to do something complicated like running a piece of code while generating the site the tools could not do it.

At some point I though I guess I'll just have to roll my own, and I did, and here it is.

PyBlue is different. Everything is optional, nothing is required, use only what you need. It basically stays out of the way.

Simple things are very easy:

  • No configuration required.
  • Works with any existing site.
  • Easy to include markdown.
  • Easy linking to other pages.
  • Tiny codebase, pyblue is around 500 lines in a single file!

Complicated tasks are easy:

  • PyBlue generates the correct links even if you move pages around.
  • Use Django Templates and all the features that it offers.
  • Easily add data into each page (title, link name, or any arbitrary content).

And you can go all the way out if you really want to:

  • Load python modules into each page.
  • Exposed data: database queries, results of online requests etc.
  • Run python code, access and modify data from inside of each page.
  • Extend the Django templates. Add your own templatetags.


You can also browse the help in source format for examples.


pip install pyblue --upgrade

Or download it from the PyBlue at PyPI.


Launch pyblue to serve a directory

pyblue -r docs

View your site by visiting http:://localhost:8080

Edit your pages and make changes. Reload the page to see your edits live. Generate static output with:

pyblue -r docs -o html

That's all. Told you it was simple. To see extra help on options run:

pyblue -h


You can’t perform that action at this time.