static html generator – abandoned in favor of clayoven
Python
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
cache
design
in @ e6642dc
out @ 340f5ee
t
.gitignore
.gitmodules
LICENSE
README.md
__init__.py
asciidocapi.py
build
configure
core.cfg.example
core.py
tests.py
util.py

README.md

rejourn

rejourn is a static site generator for programmers. Just write an article in a markup language of your choice, and some metadata information like author/ date; rejourn takes care of the rest.

Dependencies

  • Mako Python bindings
  • Markdown Python bindings [optional: for markdown rendering]
  • Nose [optional: for running included tests]

Features

  • Markdown and Asciidoc. It can easily be extended to support more markup languages- simply write a tranform function and add it to the 'htransform_mapper' in 'util.py'.
  • Dependencies handled by Makefile. This means that an output HTML file will not be built unless and until the corresponding input file changes.
  • Drafts. The 'draft' metadata header controls whether the output should be built.
  • Static pages. For pages in the toplevel index like "About me". Controlled by 'static' metadata header.
  • Configurable views. The template to render with the given content is controlled by a simple 'view_mapper' in 'util.py'.
  • Tags. You can assign associate multiple freeform tags to a single article, and view all articles with a certain tag. Controlled by 'tags' metadata header.
  • Cache. No article is ever unnecessarily rebuilt- the content is hashed and stored in the 'cache' subdirectory to recall at a later time. This is especially useful when the site has many tags.
  • RSS 2.0 feed. Built by default- no extra configuration required.

Available metadata headers

  • title: The title.
  • author: The author.
  • snip: A short description of the article. Appears in index.
  • view: The design view to use. Can be single, index, or rss.
  • htransform: The filter to pass the content through. Can be "markdown", "asciidoc", or "html".
  • tags: The tags the post should be associated with.
  • static: A boolean specifying whether the page should appear in the index. Useful for "about" pages.
  • draft: A boolean specifying whether the page should be built.
  • permalink: The permalink. Automatically written when built.
  • pubdate: The date of publishing. Automatically written when built.

Usage

Copy core.cfg.example as core.cfg and modify it to set the indir, outdir and possibly other options. Run the configure script to generate the Makefile; then run make to produce the actual HTML pages in outdir. Run make test to run the included tests.

When an existing input file is modified, run make to update the output file. When the Makefile needs to be regenerated to build new input files, run the configure script to regenerate it.

Use Apache's mod_rewrite (or the corresponding feature in your webserver) to append '.html' at the end of URLs to access the corresponding physical files. All links generated by rejourn assume this configuration.

Contributing

Simply fork the project on GitHub and send pull requests.