odtwriter is a back-end, writer for Docutils. odtwriter produces a .odt file that obeys the standards for ODF (Open Document Format). These files are usable in oowriter which is part of OpenOffice.
odtwriter is available through SVN (Subversion). It is under sandbox/OpenDocument. See:
Documentation is in docs/odtwriter.txt/html.
For more information on Docutils, see: http://docutils.sourceforge.net/
Improvements to images and figures -- (1) Images and figures not text wrapped by default. (2) Added Docutils class "wrap" to force wrapping of images and figures.
Added command line flags --endnotes-end-doc and --no-endnotes-end-doc to place footnotes and citations at the end of the document instead of at the end of the page. Generates endnotes instead of footnotes.
A fix to table generation.
Fixes for line blocks. These are now indented correctly, I believe, even when inside a block quote. There are new styles for line blocks (rststyle-lineblock1, ...). See the doc.
Fixes to footnotes. Auto-numbered and auto-symbol footnotes seem to work correctly now. There is a constant (footnote_chars) containing the symbols (*, **, ***, ++, etc).
Added support for citations.
Fixed sections -- Now start at correct level.
Added styles rststyle-title and rststyle-subtitle.
Various source code clean-ups.
Added style rststyle-footnote and rststyle-citation.
Added support for sub-script and super-script (:sub: and :sup:).
Added support for classifier on definition list terms.
Added support for the meta directive. See docs.
Added support for additional visit_/depart_ methods.
Regularized some of the methods that generated fields: revision, version, date, address, contact, copyright, organization, etc.
Added more control for control of paper size, thanks to Michael Schutte:
Added tools/rst2odt_prepstyles.py to the distribution.
Increased maximum header levels. Added new header styles rststyle-heading6 and rststyle-heading7 to styles.odt.
Fixed bug related to lists inside of definition of a definition list. Fixed handling of indentation levels. Thanks to Stefan Merten for help with this.
Fix for footnotes -- Removed extra space between footnote reference and preceding text.
Added support for the Docutils raw directive. Raw XML content is now parsed to produce an ElementTree subtree which is inserted into the ODF content tree. See the doc (section "The raw directive") for a few notes on using the raw directive with odtwriter.
Added Stefan Merten's implementation of custom style names.
A few miscellaneous fixes, e.g. some related to the Pygments source code highlighting.
Added an empty/do-nothing implementation for the raw directive.
Fixes to figures and images -- The caption on a figure is displayed below the image in a space that is the same width as the image. Also did some clean-up to the code that determines the size of images and the code that generates them.
Removed extra numbers in table of contents and section titles when the sectnum directive is used.
Another image fix -- If PIL is installed and if the height and width of an image are not specified in an image directive and if the scale is specified in an image, then odtwriter attempts to use PIL/Image to determine the size (height, width) of the image before scaling.
Document title: (1) The document title and top level section headings were both being given style rststyle-heading1. Now, document title gets rststyle-heading1 and top level sections get rststyle-heading2. Basically, section heading levels are bumped up by 1. (2) The command line flag --title is now implemented. It overrides the document title in the source document if present.
Minor fixes for images. But, we still cannot position an image correctly within a paragraph.
Fixes to sourcecode highlighting.
Fixes to images:
Adapted odtwriter to the stronger XML namespace handling in lxml 2.0.
A significant improvement to the content generated for literal blocks thanks to a patch from Johan Holmberg.
Fix so that rst.Directive class is not used for older versions of Docutils. They do not implement that class.
Fix so that if ElementTree is in the standard Python library, odtwriter will also look for it there.
Added support for highlights block/directive.
Fixed styles in highlights, epigraphs, and blockquotes. Bullet and enum lists now have their own styles in each of these block types.
Added support for epigraph and the associated attribution. Added and fixed styles for epigraph, attribution, and block-quote.
Added support for line-block. Added style for line blocks.
Added support for substitution (replace directive). Actually, the substitution is done before odtwriter starts walking the tree. But, I added the visit/depart methods so as to eliminate the error messages.
Fixed visit_Text so that it can add multiple text nodes that are all children of the same node.
Fix for non-utf-8 character sets, e.g. Russian.
Added support for footnotes.
Fixed headers and footers. Added support for references/URLs.
Renamed directive "syntaxhighlight" to "sourcecode". Also changed to a single argument, which can be "on" or "off" or <lexer-name>.
Fix for footers -- Error traceback occurred when there is no footer, i.e. no .. footer:: directive and none of --generator, --date, --time, --source-link, --source-url=URL.
Another fix for titles, headers, and footers -- The title of the document was being shoved to the bottom of the document.
Enhancement to table of contents -- Now there are separate list styles for list inside the table of contents and lists outside the table of contents. See styles rststyle-bulletlist, rststyle-tocbulletlist, rststyle-enumlist, and rststyle-tocenumlist.
Added support for ..header:: and ..footer:: directives. Added styles rststyle-header and rststyle-footer. The generator, date/time, and generated-by decorations are now combined with the content from the ..footer:: directive.
Made fix to literal_blocks so that interior spaces in a line are preserved.
Added support for the "table" directive. Insert title into output with new rststyle-table-title style.
Added limited support for "container" directive. Limitations: (1) Only the first class in the list of classes (arguments) is used and (2) that class/style must be a paragraph style and not (for example) a character style.
Fixed imports to match latest version of Pygments.
Added a separate lexer for LaTeX syntax highlighting.
Added a Docutils directive which enables user (1) to turn syntax highlighting in literal code blocks on and off and (2) to specify which lexer (language) to use during syntax highlighing.
Updated the documentation to describe the syntax highlighting directive.
Implemented visit_line, depart_line, visit_line_block, depart_line_block.
Implemented visit_subtitle and visit_subtitle as references to visit_title and depart_title.
Added syntax highlighting for literal code blocks. Syntax highlighting is applied only if Pygments is installed and the --add-syntax-highlighting command line flag is used. Pygments can be found here: http://pygments.pocoo.org/. See the odtwriter documentation for information about the styles used for syntax highlighting.
Fixed zipfile so that members of .odt have UNIX access permissions and are stored deflated.
Removed references to IPShell
Added support for images and figures.