Also use ALTERNATIVES framework to allow concurrent installation under
multiple pythons.
Release 0.12 (2014-07-06)
=========================
* docs/ref/rst/directives.txt
- Update "math" and "csv-table" descriptions.
* docutils/parsers/rst/directives/images.py
- Fix [258] figwidth="image" generates unitless width value.
* docutils/parsers/rst/states.py
- Improve error report when a non-ASCII character is specified as
delimiter, quote or escape character under Python 2.
Fixes [ 249 ] and [ 250 ].
* docutils/writers/html4css1/__init__.py
- Don't add newline after inline math.
Thanks to Yury G. Kudryashov for the patch.
* docutils/writers/latex2e/__init__.py
- Fix [ 239 ] Latex writer glues paragraphs with figure floats.
- Apply [ 116 ] by Kirill Smelkov. Don't hardcode \large for subtitle.
* docutils/writers/odf_odt/__init__.py
- Apply patch by Jakub Wilk to fix bug [ 100 ].
* test/test_error_reporting.py
- Fix [ 223 ] by removing redundant tests we do not have control over.
* test/test_nodes.py
- Apply [ 115 ] respect fixed 2to3 string literal conversion behavior.
Release 0.11 (2013-07-22)
=========================
* General
- Apply [ 2714873 ] Fix for the overwritting of document attributes.
- Support embedded aliases within hyperlink references.
- Fix [ 228 ] try local import of docutils components (reader, writer, parser,
language module) before global search.
* docutils/parsers/rst/directives/tables.py
- Fix [ 210 ] Python 3.3 checks CVS syntax only if "strict" is True.
* docutils/writers/html4css1/__init__.py
- Fix [ 3600051 ] for tables in a list, table cells are not compacted.
- New setting `stylesheet_dirs` (see above).
Now, it is easy to add a custom stylesheet to Docutils' default
stylesheet with, e.g., ``--stylesheet_path='html4css1.css, mystyle.css'``
Changed behaviour of the default settings:
if there is a file ``html4css1.css`` in the working directory of the
process at launch, it is used instead of the one provided by Docutils
in the writer source directory.
- New default for math-output_: ``HTML math.css``.
- Avoid repeated class declarations in html4css1 writer
(modified version of patch [ 104 ]).
.. _math-output: docs/user/config.html#math-output
* docutils/writers/latex2e/__init__.py
- Drop the simple algorithm replacing straight double quotes with
English typographic ones.
Activate the SmartQuotes_ transform if you want this feature.
- New setting `stylesheet_dirs`: Comma-separated list of directories
where stylesheets are found. Used by `stylesheet_path` when expanding
relative path arguments.
.. _SmartQuotes: docs/user/config.html#smart-quotes
* docutils/writers/manpage.py
- Fix [3607063] handle lines starting with a period.
- Fix option separating comma was bold (thanks to Bill Morris).
Docutils 0.10 is compatible with Python versions from 2.4 to 3.2.
General:
SmartQuotes transform for typographic quotes and dashes.
docutils/math, docutils/error_reporting.py, and docutils/urischemes.py moved to the utils package. Code importing these modules needs to adapt, e.g.:
try:
import docutils.math as math
except ImportError:
import docutils.utils.math as math
enhanced math and error handling.
docutils/io.py
FileInput/FileOutput: no system-exit on IOError. The handle_io_errors option is ignored.
docutils/writers/html4css1/__init__.py
Use <code> tag for inline "code", do not drop nested inline nodes (syntax highlight tokens).
Customizable MathJax URL (based on patch by Dmitry Shachnev).
No line break after opening inline math tag.
docutils/writers/latex2e/__init__.py, docutils/writers/xetex/__init__.py
Fix section numbering by LaTeX.
docutils/writers/s5_html/__init__.py
Fix [ 3556388 ] Mathjax does not work with rst2s5.
While here,
* register egg-info.
* switch to use external roman.py module.
* set LICENSE.
Release 0.8.1 (2011-08-30)
==========================
* General:
- Fix [ 3364658 ] (Change last file with Apache license to BSD-2-Clause)
and [ 3395920 ] (correct copyright info for rst.el).
* docutils/test/
- Apply [ 3303733 ] and [ 3365041 ] to fix tests under py3k.
* docutils/writers/latex2e/__init__.py
- Clean up Babel language setting. Restores Sphinx compatibility.
Release 0.8 (2011-07-07)
========================
* General:
- Handle language codes according to `BCP 47`_.
- If the specified language is not supported by Docutils,
warn and fall back to English.
- Math support: reStructuredText "math" role and directive,
``math`` and ``math_block`` doctree elements.
- Decode command line arguments with the locale's preferred encoding
(to allow, e.g., ``--title=Dornröschen``).
- Orphaned "python" reader and "newlatex2e" writer moved to the sandbox.
- New sub-module `error_reporting`: handle encoding/decoding errors
when reporting exceptions.
- Some additions to the Docutils core are released under the 2-Clause BSD
license, see COPYING_ for details.
.. _BCP 47: http://www.rfc-editor.org/rfc/bcp/bcp47.txt
.. _COPYING: COPYING.html
* reStructuredText:
- Most directives now support a "name" option that attaches a
reference name.
- Directive content may start on the first line also when the directive
type accepts options.
* docs/dev/policies.txt:
- Recommend the 2-Clause BSD license
(http://www.spdx.org/licenses/BSD-2-Clause)
for code that is kept under the author's copyright.
* tools/buildhtml.py:
- Fix ``--local`` switch.
* Fix [ 3018371 ] Added Lithuanian mappings by Dalius Dobravolskas.
* docutils/writers/html4css1/__init__.py
- Set "lang" argument for objects with class argument
"language-<language tag>".
- New setting "math-output" with support for HTML, MathML, and LaTeX.
* docutils/writers/latex2e/__init__.py
- Fix [ 3043986 ] AttributeError using :local: with table of content.
- Place title data in the document preamble.
- Load `babel` package only if required.
- Update list of supported languages.
- New config setting "hyperref-options".
No hard-coded "unicode" hyperref option (clash with xetex).
- Set language for custom roles, paragraphs, block-quotes, and
line-quotes with class argument "language-<language tag>".
- Fix [ 3095603 ] wrong quotes output for russian and other languages.
- Convert image URI to a local file path.
- Apply [ 3148141 ] fix multicolumn support when a colspanning cell
has more than one paragraph (Wolfgang Scherer).
- \leavevmode before longtable only when needed (prevents spurious vspace)
- do not advance table counter for tables without caption
* docutils/writers/xetex/__init__.py
- New writer generating LaTeX code for compiling with ``xelatex``.
A separate writer (inheriting from latex2e) instead of a ``--xetex``
option allows separate config options for XeTeX vs. LaTeX2e.
* docutils/writers/manpage.py
- Fix: BUG#3219183 - vertical space in definition lists containing markup.
- Fix: vertical space cleaning for option group ``.``.
* tools/editors/emacs/rst.el:
- Fix [ 3001100 ] does not handle spaces in filenames
(thanks to Jakub Wilk)
* docutils/utils.py:
- strip whitespace from stylesheet arguments
- exclude combining chars from column_width
(partial fix for [ 2926161 ])
* docutils/parsers/rst/directives/misc.py:
- Fix [ 1830389 ] Replace not breaking on getting system_messages from
nested_parse
* docutils/io.py:
- Do not close() sys.stdin, sys.stdout, or sys.stderr. Prevents
``Exception ValueError: 'I/O operation on closed file.'`` with Python 3.
* General:
- Docutils is now compatible with Python versions from 2.3 up to 2.6
and convertible to 3.1 code.
+ Node.__nonzero__ returns True instead of 1.
+ use os.walk instead os.path.walk.
+ minimize "types" module where possible.
+ Backwards-compatible changes to remove python2.6 -3 deprecation warnings
+ Text nodes now subclass unicode rather than UserString
(which is gone in python 3.0).
+ 3.0 compatibility module docutils._compat
+ Drop 2.2 compatibility workarounds.
+ Drop extras/optparse.py and extras/textwrap.py
(stdlib modules since 2.3).
- OpenOffice export: ODT writer moved from sandbox to Doctutils core.
- Unix man page export: manpage writer moved from sandbox to Doctutils
core.
- Apply [ 1719345 ] Galician translation
- Apply [ 1905741 ] Polish translation
- Apply [ 1878977 ] make_id(): deaccent characters.
- Apply [ 2029251 ] return nonzero when tests fail.
- Fix [ 1692788 ] allow UTF-8 in style sheets.
- Fix [ 2781629 ] support non-ASCII chars in file names.
- Apply [ 2845002 ] let ``--no-raw`` disable raw *roles* too.
- Fix [ 2831643 ] by renaming DirectiveError.message to DirectiveError.msg
- Fix [ 2821266 ] --strict option works now like --halt=info.
- Fix [ 2788716 ] DirectiveError now correctly reports source and line.
- Fix [ 1627229 ] hyperlink references in substitutions.
- The "newlatex" writer is orphaned.
* reStructuredText:
- Documented Unicode characters allowed as inline markup openers,
closers, and delimiters.
- Allow units for all length specifications.
- Allow percent sign in "scale" argument of "figure" and "image" directives.
- Bugfix: The "figalign" argument of a figure now works as intended
(aligning the figure, not its contents).
- Align images with class "align-[right|center|left]"
(allows setting the alignment of an image in a figure).
* docutils/nodes.py:
- Added ``Element.__contains__`` method, for the in-operator.
* docutils/parsers/rst/states.py:
- Apply [ 1994493 ] Patch to support all kinds of quotes in inline markup.
- Added support for Unicode inline markup delimiters "‐ ‑ ‒ – —" and
" " (non-breaking space), and "¡ ¿" openers.
* docutils/parsers/directives/misc.py:
- Added ``start-line`` and ``end-line`` options to "include"
directive to select a range of lines.
- Hard tabs in literal inclusions are replaced by spaces. This is
configurable via the new ``tab-width`` option of the "include" directive
(a negative tab-width prevents tab expansion).
* docutils/utils.py:
- Add ``get_stylesheet_list`` function.
- Apply [ 2834836 ] print info at halt
* docutils/transforms/universal.py:
- Raise default priority of StripClasses to exclude stripped classes from
the ToC.
* docutils/writers/html4css1/__init__.py:
- ``--stylesheet`` and ``--stylesheet-path`` options support a comma
separated list of stylesheets.
- Address [ 1938891 ] Inline literal text creates "pre" span only when
needed to prevent inter-word line wraps.
- Use `translate` method instead of repeated `replace` calls.
- Fix [ 1757105 ] New ``table-style`` option. Added to standard table
classes to allow CSS styling that does not interfere with other
table-using constructs (field lists, citations, ...).
* docutils/writers/newlatex2e/__init__.py:
- Apply [ 1612821 ] Double quotes in literal text in Italian/German
* docutils/writers/latex2e/__init__.py (see also
`<docs/user/docutils-05-compat.sty.html>`__) :
- Add ``--embed-stylesheet`` option.
- Apply [ 1474017 ] image vertical alignment is reversed.
- Apply [ 2051599 ] multi-page tables in latex writer (from pabigot).
- Change: has_key for dictionaries (not Nodes) to in-operator.
- Merge adjacent citations into one latex cite command.
- Failsave implementation of custom roles. LaTeX compilation now ignores
unknown classes instead of aborting with an error.
- Support custom roles based on standard roles.
- LaTeX packages can be used as ``--stylesheet`` arguments without
restriction. (A style sheet is now referenced with the ``\usepackage``
command, if it ends with ``.sty`` or has no extension.)
- Add ``bp`` to lenghts without unit (prevents LaTex errors).
- Correctly write length unit ``pt`` as ``bp`` in LaTeX.
- Do not convert ``px`` to ``pt`` (``px`` is supported by pdfTeX since
2005-02-04 as a configurable length unit).
- Do not use fontenc, nor the obsolete 'ae' and 'aeguill' packages
if font-encoding is set to ''. LaTeX defaults to OT1 then.
- Set sub- and superscript role argument in text mode not as math.
Use a custom role based on sub-/superscript if you want italic shape.
- Shorter preamble and less dependencies: Load packages and define macros
only if required in the document.
- Use the name prefix ``DU`` for all Docutils specific LaTeX macros.
- New custom environments and commands with optional "classes" argument.
- Simpler LaTeX encoding, e.g. "\%" instead of "{\%}".
- Better conformance to Docutils specifications with ``--use-latex-toc``.
Support for LaTeX generated ToC also with unnumbered sections.
- If 'sectnum_xform' is False, the 'sectnum' directive triggers
section numbering by LaTeX.
- Use default font in admonitions and sidebar.
- Align of image in a figure defaults to 'center'.
- Bugfix: Newlines around targets and references prevent run-together
paragraphs.
- Fix internal hyperlinks.
- Use class defaults for page margins ('typearea' now optional).
- Float placement made configurable, default changed to "here definitely".
- Typeset generic topic as "quote block with title".
- Use template (file and configuration option).
- In the default template, load cmap.sty (fix text extraction in PDF) and
fixltx2e.sty (LaTeX patches, \textsubscript).
- Render doctest blocks as literal blocks (fixes [ 1586058 ]).
- Use `translate` instead of repeated `replace` calls for text encoding.
- Hyperlinked footnotes and support for symbol footnotes and
``--footnote-references=brackets`` with ``--use-latex-footnotes``.
- Complete pairs of binary options
(``--figure-footnotes, --figure-citations, --link-stylesheet``,
``--use-docutils-toc, --use-docutils-docinfo, --topic-abstract``)
- New defaults:
- font-encoding: "T1" (formerly implicitely set by 'ae').
- use-latex-toc: true (ToC with page numbers).
- use-latex-footnotes: true (no mixup with figures).
* docutils/writers/manpage.py
- Do not print version at document end, this is done by the viewer.
- Do not print date at document end, this is done by the viewer.
- Fix storage of docinfo fields for none standard fields.
* docutils/tools/rst2man.py
Release 0.5 (2008-06-25)
========================
* docutils/languages/he.py: Added to project: Hebrew mappings by
Meir Kriheli.
* docutils/parsers/rst/languages/he.py: Added to project: Hebrew
mappings by Meir Kriheli.
* docutils/frontend.py:
- Configuration files are now assumed and required to be
UTF-8-encoded.
- Paths of applied configuration files are now recorded in the
runtime setting ``_config_files`` (accessible via
``--dump-settings``).
- Added ``--strip-elements-with-class`` and ``--strip-class``
options (``strip_elements_with_classes`` and ``strip_classes``
settings).
* docutils/io.py:
- Added code to determine the input encoding from data: encoding
declarations or the presence of byte order marks (UTF-8 & UTF-16).
- Added support for IronPython 1.0.
* docutils/nodes.py:
- Added ``document.__getstate__`` method, for pickling.
* docutils/parsers/rst/states.py:
- Allow ``+`` and ``:`` in reference names.
- Unquoted targets beginning with an underscore (``.. __target:
URI``) are no longer accepted.
- Added support for multiple attributions in a physical block quote
(indented text block), dividing it into multiple logical block
quotes.
- Added support for unicode bullets in bullet lists: "•", "‣", and
"⁃".
- Added support for new object-oriented directive interface,
retaining compatibility to the old functional interface.
- Added support for throwing ``DirectiveError``'s from within
directive code.
* docutils/parsers/rst/__init__.py:
- Added ``Directive`` base class.
- Added ``DirectiveError`` base class.
- Fixed ``file_insertion_enabled`` & ``raw_enabled`` setting
definitions.
* docutils/parsers/directives/:
- Refactored all reStructuredText directives to use the new
object-oriented directive interface. Errors are now (mostly)
thrown using the new ``DirectiveError`` class.
* docutils/parsers/directives/misc.py:
- Added ``start-after`` and ``end-before`` options to ``include``
directive; thanks to Stefan Rank.
* docutils/transforms/universal.py:
- Added ``StripClassesAndElements`` transform to remove from the
document tree all elements with classes in
``settings.strip_elements_with_classes`` and all "classes"
attribute values in ``self.document.settings.strip_classes``.
* docutils/transforms/writer_aux.py:
- Added ``Admonitions`` transform to transform specific admonitions
(like ``note``, ``warning``, etc.) into generic admonitions with a
localized title.
* docutils/writers/html4css1/__init__.py:
- Moved template functionality from the PEP/HTML writer here.
- Expanded the fragments available in the ``parts`` attribute.
- Moved ``id`` attributes from titles to surrounding ``div``
elements.
- Dropped all ``name`` attributes of ``a`` elements (``id`` is
universally supported now).
- ``template.txt`` is now opened in text mode instead of binary mode
(to ensure Windows compatibility).
- ``a`` elements now have an "internal" or "external" class,
depending on reference type.
* docutils/writers/html4css1/template.txt: Added to project.
* docutils/writers/pep_html/:
- Moved template functionality to the HTML writer.
* docutils/writers/s5_html/__init__.py:
- Added ``view_mode`` & ``hidden_controls`` settings
(``--view-mode`` & ``--hidden-controls/--visible-controls``
options).
* docutils/writers/latex2e/__init__.py:
- Add ``--literal-block-env``
- Fix: escaping ``%`` in href urls.
- Move usepackage hyperref after stylesheet inclusion.
- Fix: scrartcl does not have chapter but scrreprt.
- Add newline after ``\end{verbatim}``.
- Merge smaller differences from latex2e_adaptive_preamble.
- Add ``use-part-section``.
- Put leavevmode before longtable to avoid having it moved before sub/pargraph.
- Using leavemode option_list no longer needs to check if parent
is a definition list.
- Append ``\leavemode`` to definition list terms.
- No longer write visit\_/depart_definition_list_item comments to
output.
- Table column width with 3 decimal places.
- Add table stubs support (boldfont).
- Add assemble_parts to writer.
- Add simply support for nested tables.
- Fix verbatim in tables if use-verbatim-when-possible.
- Use section commands down to subparagraph.
- Put ensuremath around some latin1 chars.
- Set ``usepackage[utf8x]{inputenc}`` for utf-8.
- New option ``--use-bibtex=style,db1,db2``.
- New option ``--reference-label`` to allow usage of LaTeX ref for
labels in section references.
- Add a label after every section to support sectionnumbers as reference
labels.
- Fix: bug# 1605376 rst2latex: bad options group list
- Remove inactive code for use_optionlist_for_option_list.
- Remove latex comments from option_list output.
- Fix: bug# 1612270 double qoutes in italian literal.
- Fix: output ``hypertarget{ node.get(refid) }{}`` from visit_target.
- Add option --use-latex-abstract.
- Image width unit ``px`` is translated to ``pt``.
- Add image height support.
- Fix: image width ``70%`` is converted ``0.700\linewidth``.
bug #1457388
- Fix: Do not escape underscores in citation reference labels if
use-latex-citations is set.
- Use centering instead of center for figure contents, to avoid vertical
space.
- Recognize table class: borderless, nolines, booktabs, standard.
- Fix: Renaming contents section does not work with latex writer; SF
bug #1487405.
- Applied patch for custom roles with classes from Edward Loper.
- Fixed bug that caused crashes with more than 256 lists.
* docutils/writers/pep_html/__init__.py:
- Changed to support new python.org website structure and
pep2pyramid.py.
* docs/howto/security.txt: "Deploying Docutils Securely", added to
project.
* tools/buildhtml.py:
-- Added ``ignore`` setting to exclude a list of shell patterns
(default: ``.svn:CVS``).
* tools/editors/emacs/rst.el:
- Changed license to "GPL".
- Added ``rst-straighten-decorations`` function.
- The ``compile`` module is now always loaded.
- Added ``rst-toggle-line-block`` function.
- Headings consisting only of non-ASCII characters are now
recognized by ``rst-toc`` and ``rst-adjust``.
- Added font-lock support for multi-line comments where the first
comment line is empty.
- Added ``(require 'font-lock)``.
* setup.py:
- Provide descriptive error message if distutils is missing.
Components:
* Added an S5/HTML writer and the rst2s5.py front end: multi-platform,
multi-browser HTML slide shows.
* The newlatex2e writer is nearing completion.
* Added a DocTree reader, publish_doctree and publish_from_doctree convenience
functions, for document tree extraction and reprocessing.
reStructuredText:
* Added directives: "container" (generic block-level container),
"default-role" (role used for `backtick` syntax), "title" (document title
metadata), and "date" (generate the current local date, for substitution
definitions).
* Length units are now supported for image sizes.
* Added standard definition files for special characters etc.
Internationalization:
* Added Japanese and Simplified Chinese language mappings, and support for
double-width CJK-characters in tables and section titles.
Documentation:
* Added a guide for distributors (package maintainers) and a guide for
developers.
General:
* Added significant Emacs support for reST.
* Added a --strip-comments option.
* --embed-stylesheet is now the default for the HTML writer (rather than
--link-stylesheet).
The purpose of the Docutils project is to create a set of tools
for processing plaintext documentation into useful formats, such
as HTML, XML, and TeX.