======
 TODO
======

This is a really high-level todo list.  Nothing here is written in
stone--this is mostly just a collection of thoughts.  As such, not
everything in here will make sense to implement.  Each item really
needs fleshing out before decisions on implementation should be made.

Before launching into anything, check the Git repository which has the
latest version of this TODO list.

If you're inspired by any of these tasks, let us know on the
pyblosxom-devel mailing list.

If there are items not mentioned here, let us know on the
pyblosxom-devel mailing list.

Thanks!


Version 1.6
===========

Plugins
-------

* plugin for importing and exporting mtimes to and from a file.
* fix static renderer so that it queries plugins for additional
  urls that need to be rendered
* fix yeararchives to render year archives


Verion 1.5
==========

Code cleanup
------------

* port over code cleanup from experimental
* pylint pass
* pep-8 pass

Unit testing
------------

* add more tests
* add plugin tests

Manual
------

* rework manual to use sphinx and tie in docs with api docs

Command-line
------------

* port over command line changes from experimental
* rework command line handling to work like git command line does


Version 1.4
===========

Prospective release date: 

UNIT TESTING

 - Look at the Cheesecake system and use something similar so that we
   have some basic tests we can run that test the whole system.

MANUAL

 - Go through and fill in more FIXMEs.
 - Need to add installation instructions for PyBlosxom as WSGI middleware.
 - Convert to reST.

PYBLOSXOM-CMD

 - Finish up pyblosxom-cmd so that it's a good alternative to running
   pyblosxom.cgi.


ANYTHING ELSE?

 - Paste support.



Infrastructure
==============

Unit testing
------------

* Always need more unit tests and functional tests.
* Plugins need more tests.


Manual
------

* Continue to clarify config.py properties.
* Continue to clean up the language.
* Glossary/index
* Add installation instructions for flup.
* Instructions for migration?
* Instructions for servers with multiple users.  (Look at Martin Kraaft's
  stuff.)


PYBLOSXOM
=========

Configuration
-------------

* It'd be nice if PyBlosxom could run with no config.py at all.
* config.py should have defaults centralized into one place.
* How to do site-wide configurations?

Entry variables
---------------

* For each entry, we calculate $path and $absolute_path.  Why do
  we have both of them?  Are there inherent differences between the
  two?  What does blosxom do?

  Regardless, it looks like $path behaves differently in 1.3 than
  in previous versions.

Flavours
--------

* Flavour templates refer to static files.  Need to figure out how
  to officially support static files (.css, .jpg, ...)
