Jinja24Doc for Python

Lightweight documentation generator with jinja2 templates.

What is Jinja24Doc

Documentation in few seconds

Jinja24doc as library

Getting Jinja24doc

Source from git

Install from PyPI

Unstable version

What is Jinja24Doclink | top

Jinja24Doc is lightweight documentation generator for python modules with jinja2 templates. It is part of Poor Http group tools (WSGI connector, WSGI/HTTP Server and mod_python connector). It could load modules and gets documentation for its items. No configuration is needed, only jinja2 templates. Your or from jinja2doc package.

It is more powerful pydoc, with style what you want. You can format your documentation string with some simple chars by wiki formating, which is similar to AsciiDoc. Or you can use standard reStructuredText format. Both of these markups parsers support highlighting and creating automatic links to PEP.

Documentation in few secondslink | top

There are three tools for your usage: rst24doc, wiki24doc and jinja24doc. You can generate simple page like this with tools rst24doc and wiki24doc in one command:

# if your module use reStructuredText formating in documentation strings
~$ rst24doc -O your_module.html --embed-stylesheet your_module.py
# or if your module use wiki formating in documentation strings
~$ rst24doc -O your_module.html --embed-stylesheet your_module.py

Or you can create your own template, which import predefined templates from Jinja24doc. Your template.html could see like this:

{% set title = 'Your Module' %}
{% set api = load_module('your_module') %}
{% include '_reference.html' %}

Than call the jinja24doc tool with right parameters from path where your python module is available:

~$ jinja24doc --embed-stylesheet template.html > your_module.html

Jinja24doc as librarylink | top

There are three submodules which you could interest to:

  • apidoc which contains base ApiDoc class to read python modules and create list of module items by method load_module.

  • rst which contains Rst class based on ApiDoc to parse reStructuredText __doc__ or document.

  • wiki which contains Wiki class based on ApiDoc to parse wiki formated __doc__ or document.

  • context which contains Context class based on Rst and Wiki to couple all functionality to working with jinja2 templates.

  • frontend which contains some functions to easier create command tool like rst24doc, wiki24doc and jinja24doc.

Getting Jinja24doclink | top

Jinja24Doc needs Jinja2, docutils and distutils-tinyhtmlwriter package for build and or for install. So you must install it first.

Source tarball

~$ wget https://pypi.python.org/packages/source/j/jinja24doc/jinja24doc-1.3.1.tar.gz
~$ tar xzf jinja24doc-1.3.1.tar.gz
~$ cd jinja24doc-1.3.1
~$ python setup.py install

Source from gitlink | top

~$ git clone https://github.com/PoorHttp/Jinja24Doc.git
~$ cd Jinja24Doc
~$ python setup.py install

Install from PyPIlink | top

Don't forget to install all packages first. Jinja24Doc will need it to install, but pip do not install packages first even if it download automatically.

~$ pip install jinja2
~$ pip install jinja24doc

Unstable versionlink | top

From git unstable branch:

~$ git clone clone https://github.com/PoorHttp/Jinja24Doc.git
~$ cd Jinja24Doc
~$ git checkout unstable
~$ python setup.py install

or from zip package:

~$ wget https://github.com/PoorHttp/Jinja24Doc/archive/unstable.zip
~$ unzip unstable.zip
~$ cd Jinja24Doc-unstable
~$ python setup.py install