This records the different releases to rest2web, with most of the major changes. The individual source files have more fine grained changelogs if you have a hankering to know the details.
Added some extra debugging info to syntax errors in the templates.
Fixed odict and pathutils for Python 2.5 comptability.
Added the 'promote_headers' option to the config file.
Added the sortpages method to the sections. This sorts the pages in a section (or all sections) alphabetically. You can also pass in a custom sort function.
Paths in the file keyword and in the config file now have '~' expanded. This means they can use paths relative to the user directory. (Plus the 'colorize' and 'include' macros.)
Added 'skiperrors' config file / command line option. Errors in processing a file can now be ignored and rest2web will attempt to continue processing.
Fixed bug where non-ascii uservalues would blow up.
There was a bug in handling tabs in embedded code. This has been fixed.
The macro system has been revamped. All the standard macros are now built in as default macros. The modules needed by the default macros are also now built into rest2web. You can still add your own macros, or override the default ones, by supplying an additional macros file.
Macro Paths section added to the config file for configuring the default macros smiley and emoticon.
The initial message printed by rest2web has been changed to INFO level, so that it is not displayed by the -a and -w verbosity levels.
The namespace and uservalues for each page are now available to the macros, using global variables uservalues and namespace (dictionaries). This means you can write macros that are customised for individual pages.
A config file is no longer required in force mode. (The current directory is used as the source directory and html output is put into a subdirectory called 'html'.)
The restindex and uservalues block may now be in a ReST comment. This means that rest2web source documents with a restindex can still be valid ReStructured Text documents.
Fixed imports in the gallery plugin. (Thanks to Steve Bethard.)
Changed over to use the latest version of StandOut.
rest2web now exits with an error code corresponding to the number of warnings and errors generated.
Errors and warnings are now output on sys.stderr.
Moved 'pythonutils' distribution into the 'rest2web' directory for ease of packaging.
Added a #! line to r2w.py.
All rest2web imports now absolute imports.
Added 'quickstart.txt' thanks to Andrew Ittner.
Added an include standard function, this can be used to nest templates or customise sections. (It will walk up the directory tree looking for the file you specify and takes an optional argument if the file doesn't exist - useful for templates that allow subdirectories to add to the template, or even wrap the body.)
make_dist.py now takes nopause as a command line argument (make_dist.py is in Subversion for creating distributions.)
Default breadcrumb divider is now '>'. Breadcrumbs are also output in HTML on separate lines for readability.
Fixed bug when final_encoding is None.
Default config file is now called r2w.ini. rest2web.ini will still be supported until the next release.
Fixed bug with standerr where no logfile is used.
print_crumbs can now take None for the dividers.
Added 'globalValues' to the namespace. (Available in templates and pages for storing values which can be accessed across all pages.)
Added 'uservalues' and 'restindex' into each page in the indextree.
A new command line 'nopause' option to override the config file.
Change so that variables (and functions etc) defined in templates can be used in single code blocks (like <% new_name %>).
Added more information about pages to the namespace and indextree. The new values are :
Fixed bug where 'thispage' wasn't set on pages in the indextree. (Value should be True for the current page.)
Fixed bug where 'thispage' (in the namespace) would sometimes be incorrectly None.
Cached template files for faster execution.
Special thanks to Martin Krafft for bugfixes and suggestions.
rest2web can now build a site with no index pages, no template and no restindexes. This is the force command line option. It can be used to automatically build a site from a collection of ReST documents, and use default templates.
uservalues can be passed at the command line and in the config file. (Command line uservalues override config file ones.) These uservalues are now available in every page. The encoding of uservalues in the config file is specified by the __encoding__ value.
A --template-file (or -t) command line option. (Will override the top level template keyword specified in the restindex.) This allows you to have alternative templates for a site; for example one for an online version and another for distributed documentation.
New website template, created by Fuchsiashock Design.
final_encoding should never be utf8 - should be utf-8 instead. This is because utf8 is not recognised by browsers. (This is now automatically handled.)
Added initialheaderlevel a new restindex keyword. It sets the size of headers used in ReST documents. Can be set per page.
The file keyword has been bugfixed. It now only operates if the target file doesn't exist or is different to the source file. It copies the timestamp along with the file.
The gallery plugin now ignores non-image files. It also skips image files it can't handle (currently only animated jpgs.
rest2web now has three levels of verbosity, controlled from the command line :
uservalues can now be inserted in pages using a new syntax. Where this is used, the uservalues are inserted before the page is rendered from ReST to HTML. This means uservalues can be in ReST format. The syntax for single values is <* ... *>. For multiple lines of code it is <$ ... $>.
Added modtimeiso value to the namespace and the formattime standard function.
The namespace and uservalues are both now available (as dictionaries) to the macros and the standard functions.
Removed the two <br /> from listend in the standard function minibar and added wrapper_class to print_details.
Added os and sys to the namespace for every page.
The default crumb for index pages (if no page-title specified) is the filename, minus the extension and turned to title case.
Removed urlpath from rest2web, because it is now in pythonutils.
It won't run in the distribution directory - need to run "make_dist.py". (This only applies if fetched from subversion).
There were a lot of changes between the 0.3.0 and the 0.4.0 release. This is a summary :
Documentation refactored and improved, including the tutorial.
Changes for compatibility with Pythonutils 0.2.3 and docutils 3.10.
Added page_description to namespace.
Added file keyword (reserved word in namespace).
Added tags keyword.
Added section-pages keyword (a way of specifying the order of pages in sections).
Added __prune__ (document in special files).
The plugins system and the gallery.
Changes to config file (psyco, pause, DEBUG).
Interactive debug mode.
Added section_contents and print_details functions.
Three extra standard macros.
Bugfix (and change) to the 'print_crumbs' function. It now takes an 'item' value - this means the last item is also a list item.
Fixed bug where restindex options from one section could leak into another.
Fixed bug where having include: No for an index page would cause a crash.
Bugfix to thispage (not broken anymore).
Fixed bug where subsections with a different 'file-extension' were broken.
Fixed bug where not building an index page would cause a crash.
Some changes for compatibility with py2exe (including addition of a py2exe-setup.py).
Code refactored and better commented. (Thanks to Nicola Larosa for input).
Minor bugfix - an encoding was missing.
Added stylesheet to docutils options override.
Code style cleanup with help from Nicola Larosa.
Start of the refactoring (some code is simpler internally)
uservalues now compatible with reST.
docs updated appropriately.
Added support for uservalues.
Removed extraneous print statement from embedded_code.py
Various minor changes - especially additions to the namespace pages are rendered in.
Sites are rendered a whole section at a time. This means pages have index data for that section available. This is the sections variable in the namespace.
Added the output-encoding and final_encoding values to the restindex.
Added the template-encoding value to the restindex. (rest2web is now entirely unicode internally).
It's now possible to specify title and description for the default section.
Added indextree and thispage, allows building of sidebars.
Added standard functions.
Started using subversion repository.
Changed all line endings to 'LF'.
First version released.
Thanks to Andrew Ittner for testing on Linux.