Introduction
------------

The ImprovedTableParser extension for MoinMoin provides an alternative way of
describing tables in Wiki pages together with additional features for the
presentation of tabular data.

Installation
------------

To install the support library and MoinMoin-related scripts, consider using
the moinsetup tool. See the "Recommended Software" section below for more
information.

With moinsetup and a suitable configuration file, the installation is done as
follows with $ITDIR referring to the ImprovedTableParser distribution
directory containing this README.txt file:

  python moinsetup.py -f moinsetup.cfg -m install_extension_package $ITDIR
  python moinsetup.py -f moinsetup.cfg -m install_parsers $ITDIR/parsers
  python moinsetup.py -f moinsetup.cfg -m install_theme_resources $ITDIR
  python moinsetup.py -f moinsetup.cfg -m edit_theme_stylesheet screen.css improvedtableparser.css
  python moinsetup.py -f moinsetup.cfg -m edit_theme_stylesheet print.css improvedtableparser.css

The first command above uses the setup.py script provided as follows:

  python setup.py install --prefix=path-to-moin-prefix

The second command installs the parser.

The third command installs the theme resources in the available theme
directories.

The remaining commands activate the styles provided by ImprovedTableParser by
editing the screen.css and print.css files which are typically provided by
themes. These commands add imports of the following form to the theme
stylesheets:

  @import "improvedtableparser.css";

Useful Pages
------------

The pages directory contains a help page using a syntax appropriate for use
with MoinMoin 1.6 or later. This page can be created through the Wiki and its
contents copied in from the file provided. An easier installation method is to
issue the following commands:

  python moinsetup.py -f moinsetup.cfg -m make_page_package $ITDIR/pages pages.zip
  python moinsetup.py -f moinsetup.cfg -m install_page_package pages.zip

You may need to switch user in order to have sufficient privileges to copy the
page package into the Wiki. For example:

  sudo -u www-data python moinsetup.py -f moinsetup.cfg -m install_page_package pages.zip

Using the Parser
----------------

To create a table using the alternative syntax supported by this extension,
create a section in a Wiki page using a special declaration indicating that
the section describes a table:

  {{{#!table
  '''Heading #1''' || '''Heading #2'''
  ==
  Cell #1 || Cell #2
  }}}

See pages/HelpOnImprovedTableParser for more detailed information.

Recommended Software
--------------------

See the "Dependencies" section below for essential software.

The moinsetup tool is recommended for installation since it aims to support
all versions of MoinMoin that are supported for use with this software.

See the following page for information on moinsetup:

http://moinmo.in/ScriptMarket/moinsetup

Contact, Copyright and Licence Information
------------------------------------------

See the following Web pages for more information about this work:

http://moinmo.in/ParserMarket/ImprovedTableParser

The author can be contacted at the following e-mail address:

paul@boddie.org.uk

Copyright and licence information can be found in the docs directory - see
docs/COPYING.txt and docs/LICENCE.txt for more information.

Dependencies
------------

ImprovedTableParser has the following basic dependencies:

Packages                    Release Information
--------                    -------------------

MoinSupport                 Tested with 0.2
                            Source: http://hgweb.boddie.org.uk/MoinSupport

New in ImprovedTableParser 0.2.3 (Changes since ImprovedTableParser 0.2.2)
--------------------------------------------------------------------------

  * Added support for floating point numbers in numeric column sorting.

New in ImprovedTableParser 0.2.2 (Changes since ImprovedTableParser 0.2.1)
--------------------------------------------------------------------------

  * Introduced a fix for breakage caused by the attribute processing fix,
    where table attributes represented as boolean values would be presented to
    the formatter, causing failure in output preparation.

New in ImprovedTableParser 0.2.1 (Changes since ImprovedTableParser 0.2)
------------------------------------------------------------------------

  * Fixed attribute processing to avoid potential interpretation and
    formatting issues.

New in ImprovedTableParser 0.2 (Changes since ImprovedTableParser 0.1)
----------------------------------------------------------------------

  * Moved the section argument processing, parsing and formatting functions
    into the MoinSupport distribution.
  * Added line continuation syntax for column text.
  * Added the missing __version__ attribute to the common library module.
  * Fixed unfinished column spans on the final rows of tables.
  * Fixed the cell attributes pattern to avoid matching macros.
  * Added a write parameter to the formatTable function for configurable
    output, and added formatting according to content type, supporting an
    extended parser API.
  * Fixed space handling after row markers, avoiding indentation for text on
    the same line.

Release Procedures
------------------

Update the ImprovedTableParser.py __version__ attribute and the setup.py
version details.
Change the version number and package filename/directory in the documentation.
Update the setup.py and PKG-INFO files.
Update the release notes (see above).
Tag, export.
Archive, upload.
Update the ParserMarket (see above for the URL).
