.. --rst--
.. contents::
reStructuredText parsing:
- Allow plug-in roles to return an array mixing text and DOM elements
- Changed the implementation of the :parent: option to the class::
directive to be more general
reStructuredText transforms:
- Pending transforms can now supply a code reference instead of a
string to implement the transform
Writer 'html':
- No longer round column widths to the nearest integer: rounding can
cause the percentages to go over 100%. Browsers deal better with
percentages < 100 than > 100.
- Allow classes to be attached to rows (can happen with the :parent:
option of the class:: directive)
Directive 'perl':
- Improved handling when errors occur in running directive, especially
for the perl role.
reStructuredText parsing:
- Fixed an issue in recognizing a Roman numeral list beginning VI.
- Added :parent: option to class:: directive
- Propagate classes on list items in list tables to the table cells
Writer 'html':
- Force HTML ids to be unique
- Process attributes (such as class) on list items and literal
- Cleaned up tests to accommodate forgiving implementations of
'convert' command
Directive 'code-block':
- Extension to 'generic' state:
- Function string can now specify "variable", "reference" or a
custom face for formatting substrings
- The function regular expression can now contain up to 9 substrings
Writer 'latex':
- Fixed a potential undefined variable warning
reStructuredText parsing:
- Fixed a bug where recursive substitution definitions caused an
infinite loop.
- Fixed an issue that caused some tests to fail on systems that do not
have a ``convert`` program available.
Plug-in directives:
- Improved POD documentation of perl:: directive.
- The code-block:: directive has a new ``-D code-block-states-flags``
flag to specify non-standard flags (such as defines) to the states
program while doing markup.
- The code-block:: directive has new options ``:states-file:`` and
``:states-flags:`` that perform the same function (and, if
specified, override the values of) the ``-D code-block-states-file``
and ``-D code-block-states-flags`` options on a per-code-block
basis.
- The default states markup file has a new language definition
``generic`` whose markup is controlled completely by ``-D
code-block-states-flags`` or ``:states-flags:``.
prest application:
- Made the -e option default to 'utf8' (instead of just claiming to do so)
- Sped up reading of the file
- Fixed the code that returns the list of available encodings for -h
reStructuredText parsing:
- There is a new built-in ``substitution-reference`` role
- Custom roles based upon mathml-display will also appear in display style
- Fixed a bug with parsing consecutive bulleted lists
- Added ability to generate Roman numerals for enumeration lists
- Keep class information on custom roles
- Added ability to attach a label to a mathml equation that becomes
a substitution definition annotated with the equation number.
- Added :format: option to the sectnum:: directive to allow Roman
numerals or letters as well as numbers at various levels of the numbering
Plug-in directives:
- The code-block:: directive allows a :class: option
- The perl:: directive defines a $SUBSTITUTION variable giving the
name of any substitution definition being defined by the perl directive.
Writer 'html':
- Added support for the label of a mathml equation
- Do a better job of propagating class information for parsed_literal
- Convert the -e encoding to the right format for HTML.
Writer 'latex':
- Allow a stylesheet mechanism for styling classes of inline
elements. For example, if you define a custom role ``myrole``, then
text using that role will appear with ``\styleinlinemyrole(...)``
around it. There will be a null definition for the style which can
be overridden using ``\renewcommand{\styleinlinemyrole}{1}{#1}``.
- Fixed parsed literals to be more literal than they were (e.g., don't
convert ``<=`` to a less-than-or-equal sign.)
- Handle blank lines within parsed literals
- Fixed the newlines around ``\item`` and ``\end{description}``
- Fixed a bug where a comment could cause some actual text to
disappear because it didn't end with a newline
- Added support for superscript and custom roles
- Added support for a figure's class to be used as the name of the
latex environment
- Added support for mathml labels
Second attempt to fix a test that failed because it was not site-independent
Fixed a test that failed because it was not site-independent
General changes:
- Updated coverability comments for more recent Devel::Cover versions.
prest script:
- Turn off warnings after finishing so that Devel::Cover doesn't cause
tests to fail
reStructuredText parsing:
- Delete spaces within URIs of targets and embedded URIs
- Hopefully fixed a problem that was causing regression failures for
perl 5.9 and above
- Fixed a problem that occurred if Encode module was not available
- Added "tab" as a value for the :delim: option of the csv-table::
directive
Writer 'html':
- Added "-W field-colon' option
- Use HTML::Entities to produce more readable output of mathml markup
- Dead code removal
- Fixed document title/subtitle not to hold markup characters
Writer 'latex':
- Added "-W author-skip" option
- Added "-W omit-docinfo" option
- Added "-W packages" option
- Added ``\styleaddress`` to style an organization, address, or contact
- Added ``\styleclassZZZ`` markup to allow style for class ZZZ
- Ensure math environment for "|" character
- Fixed a warning for a system message with no ids
- Added handlers for inline and compound
- Put the document's title/subtitle into the document's docinfo rather
than using global variables
- Avoid a latex error for definition and option lists by putting an empty
``\mbox{}`` between the term/classifier and the newline
- Don't implement option group as a ``tabular`` environment
- Have a table use a ``table`` environment if there is a title
- Fixed the processing of auto-symbol footnotes.
reStructuredText parsing:
- Added "-D relax-citation-characters" option.
- Added roles "mathml-display" and "mathml-inline" to force
display/inline mode.
- Role name is now passed in as fourth argument to role attribute
subroutines.
- DefineRole now allows defining other info about the role than just
its options.
- Plug-in directives can now have an init routine that gets called to
define and initialize them.
- Plug-ins can now define roles as well as directives.
- Roles can now define a reparse option which will cause the output to
be reparsed as reStructuredText.
Writer 'latex':
- Added "-W chapter" and "-W cloak-email-addresses" options.
- Added a new '\styleliteralblock' style command.
- Fixed a problem with inferring minus signs.
- Fixed a problem with converting opening single quotes.
- Fixed handling of raw latex.
Directive 'code-block':
- Allow the 'states' executable to be found anywhere on the path, but
check standard locations first.
Writer 'latex':
- Sort the dependent \usepackage modules so that there is a canonical
order for regression testing
Writer 'index':
- Sort the inline targets so that there is a canonical order for
regression testing
There were no functional changes in this release.
Fixed the latex simple test not to use a code-block directive, which
compiles differently on different machines.
reStructuredText transforms:
- Fixed a bug with hyperlink resolution when a chained target went to
an indirect target to an internal target.
Writer 'index':
- Fixed a bug in dealing with raw DOM objects.
Writer 'latex':
- Fixed bugs in line blocks
- Fixed bugs in parsed literals
- Fixed a bug where a paragraph ending in an interpreted text item did
not result in a new paragraph
- Fixed a bug with processing quotes around marked up text
- Fixed a bug with special characters in options
- Added support for outputting mathml to latex (requires
Text::ASCIIMathML 0.4 or later)
There were no functional changes in this release.
- Fixed some tests and expects to be compatible with perl 5.9.5.
- Modified Makefile.PL hopefully to be compatible with more versions
of make.
- Changed the way the system plug-in directive gets the message from
STDERR so that it will hopefully be compatible with more systems.
prest script:
- Generated a fatal error if an input file cannot be opened.
ReStructuredText parsing:
- The target role now keeps the case of the target in creating its
name.
Writer 'html':
- Process the :class: option on images.
- If the "-W image-exts" option is used (it's actually deprecated in
favor of "-D image-exts"), the default alt attribute now also uses
the substituted extension.
Writer 'index':
- Improved help text.
- Added "-W index-indirect-targets" option.
- Added "-W index-role-target" option.
Writer 'xref':
- Added a "-W xref-role-target" option to specify which target role
(if any) should be used for cross references.
- The "-W xref-role-targets" option has been removed.
In general:
- Recoded to remove most dependencies on internal structure of DOM
objects outside of DOM.pm.
ReStructuredText parsing:
- Added a "target" role that allows separation of inline target tags
from the text that is displayed.
- Fixed a bug where, if two items in an enumerated list occurred with
no blank line between them and a third item was separated by a blank
line, the third item was put into a separate list.
Directive 'perl':
- Exported the following new global variables: ``$DIRECTIVE`` and
``$PARSER``.
Writer 'html':
- Mark a single paragraph in a compound as both class "compound-first"
and "compound-last".
- Fixed a bug where a class attribute on a field list did not
propagate to the output.
- Fixed a bug where an align attribute on a table did not propagate to
the output.
Writer 'index':
- Implemented the '-W doc-titles' and '-W index-role-targets' options.
- Output nothing instead of an empty table if there are no index
entries.
Writer 'xref':
- Added the ``-W xref-role-targets`` option.
- Allowed the suffix to be an empty string.
- Fixed problem with find command in Makefile.PL that used a Linuxism.
- Made most of the perl modules use the subversion release as version number.
- Renamed ReleaseNotes.txt to ChangeLog so that it will appear as a
special file on CPAN.
- Made one more effort to fix the indexing of version numbers.
- Create lib/Text/Restructured.pm from lib/Text/Restructured.pm.PL so
we can insert the version number in to allow CPAN to index it
correctly.
- Fixed a problem with creating regular-expression expects for tests.
Fixed problem with CPAN indexing of versions.
- Completely reworked the regression test structure so as not to be
dependent upon GNU make.
Writers 'dom' and 'xml':
- Fixed a bug with attribute strings that contain double quotes.
- Fixed a problem with Makefile.PL.
ReStructuredText parsing:
- Don't write messages to STDERR for errors in directives in test
data.
Writer 'html':
- Fixed a problem with quote markes in "alt" image text.
- Added "-W body-only" flag.
- Fixed problems with running with -T.
- Fixed Makefile.
- Fixed the help to parse as reStructuredText.
- Execute evals in ``Text::Restructured::Writer::Eval`` instead of ``Eval_::``.
- Initialize some of the opt variables to avoid warnings if not driven
by prest.
ReStructuredText parsing:
- Added "-D image-exts" flag so that each writer doesn't have to
support the functionality separately.
Writer 'html':
- Added "-W enum-list-prefixes" flag.
- Documentation deprecates "-W image-exts".
Writer 'latex':
- Be more lenient about including graphics for files that aren't in
the current directory.
- Fixed the processing of raw DOM elements to ignore those not
intended for latex.
- Added a newline before admonitions so they're processed in vertical
mode.
Writer 'toc':
- Added "-W parent-role" flag.
Updated the ``toc`` writer to have expanded abilities with the ``-W
file-suffix`` option.
Fixed the Makefile.PL so that hopefully at least some platforms will
pass regression tests.
Added release notes to the prest documentation.
Made the ``html``, ``toc``, and ``xref`` writers compatible with
non-breaking spaces in Perl 5.8.0 implementation of Unicode. (Unicode
implementation was fixed in Perl 5.8.6.)
All ``-D`` or ``-W`` option names can use either hyphens ("-") or
underscores ("_") for word separators; internally everything uses
underscores.
reStructuredText parsing:
- Added hyphens to the following ``-D`` options: ``entry-attr``,
``include-ext``, ``include-path``, ``nest-inline``, ``perl-path``,
``row-attr``, ``table-attr``.
- Added the following ``-D`` options: ``file-insertion-enabled``,
``ignore-include-errs``, ``raw-enabled``.
- Fixed a bug where explicit targets were not permitted within an
embedded url (e.g., '``reference <#explicit-target>``').
- Don't consider targets defined on the same source/line number to be
duplicate targets (can happen with multiply-included files).
- Fixed the checking for inconsistent title levels to be more robust.
- Keep an ``@INCLUDES`` array to keep track of the include stack. This
variable can be accessed in a ``perl``/``if`` directive.
- Fixed a bug where large grid tables could result in a deep
recursion error.
reStructuredText transforms:
- Added the ``-D docinfo-levels`` option.
- Changed the documentation to show the ``-D`` options with hyphens ("-")
instead of underscores ("_") separting words.
- The ``sectnum`` directive now processes starting from its containing
section, rather than from the top of the DOM tree.
Directive '``raw``':
- Added a ``:head:`` option.
Directive '``if``':
- Export the ``$SOURCE``, ``$LINE``, and ``@INCLUDES`` for use in Perl
code.
Directive '``perl``':
- Implemented ``:file:`` option.
- Exported ``@INCLUDES``.
Directive '``sectnum``':
- Added a ``:prefix-title:`` option.
Writer '``html``':
- Inserted hyphen in the ``-W body-attr`` option.
- Updated for adding hyphens to the following ``-D`` options:
``table-attr``, ``entry-attr``, ``row-attr``.
- Added ``-W image-exts`` option.
- Added support for ``:head:`` option of ``raw`` DOM.
- Fixed a bug with targets.
- Fixed a potential undefined variable warning for footnote references.
Writer '``index``':
- Changed documentation for ``-W`` options to use hyphens ("-") instead of
underscores ("_") between words.
- Implemented ``-W output-header`` and ``-W title-underline`` options.
- Changed implementation to use a ``compound`` directive instead of a
``raw`` directive to set the class for the generated contents.
- Removed a potential undefined variable warning for indirect targets.
Writer '``toc``':
- Updated documentation to show ``-W`` options with hyphens ("-") instead of
underscores ("_") to separate words.
- Restructured for simplicity.
- Changed the way non-breaking spaces are removed from generated DOM
objects since the auto-numbering may have things other than numbers
in it.
Writer '``xref``':
- Added the following ``-W`` options: ``appendix``, ``chapter``,
``section``, ``xref-sections``, ``xref-targets``.
- Restructured the code for simplification.
Added support for ascii-mathml role and directive to produce mathml
markup. The mathml markup is only supported in the ``dom`` and ``html``
writers for now.
Went through code coverage reports and updated the tests to bring the
line and condition coverage up to 100% (except the soon-to-be-outdated
``latex`` writer). This analysis resulted in the following fixes:
Prest application:
- Fixed a bug where help prints out multiple times if there are
duplicate writers.
- Relocated all the code for parsing and interpreting writer schemas
to ``Text::Restructured::Writer``.
- Fixed the version number not to end with a period.
- Don't use ``FindBin`` to append the directory in which the script is
found to its ``@INC`` path.
- Don't convert digits in ``-W`` options to underscores.
- Removed code for parsing DOM files to ``Text::Restructured::DOM::Parse``.
- Insert blank line in usage before "Descriptions of Plug-in
Directives" and "Descriptions of Writers".
reStructuredText parsing:
- Stricter option checking in most directives.
- Removed package globals and incorporated into a parser object.
- Initialize ``ANONYMOUS_TARGETS`` in init.
- Fixed the handling of inline literals in definition lists.
- Put a system message in the document rather than dying if a plug-in
directive fails to compile.
- Simplified the code by removing tests whose conditions were
invariant.
- Fixed an infinite loop that could come up in processing nested
inline markup.
- Fixed an infinite loop that could come up if a line block started
with two or more blank lines.
- Fixed the removal of inline markup characters from normalized names.
- Have ``include`` directive do nothing if the file is empty, as opposed
to returning an empty paragraph.
- Added checks for the ``:prefix:`` and ``:suffix:`` options to the
``role`` directive to be sure they're formatted correctly.
- Return a system message if the title in a table-type directive is
not a single paragraph.
- Merged the code for ``csv-table`` and ``list-table`` directives to the
extent possible.
- Fixed the ``:class:`` option for ``target-notes``.
reStructuredText transforms:
- Simplified code by removing branches whose conditions were
invariant.
- Return a system message if evaluating transform code results in an
error.
- Process ``:class:`` option for ``target-notes`` directive.
- Allow ``decorations`` transform to put in link to prest documentation if
DOCURL is specified.
Directive '``code_block``':
- Added ``-D code-block-states-file`` option.
- Do line numbering whether or not states can be run if
``:numbered:``.
Directive '``system``':
- Return a ``PCDATA`` DOM if in a substitution definition context (instead
of appending it).
- Don't add a null paragraph if the text is empty.
Writer '``dom``':
- Updated to use ``$writer`` argument to access ``ProcessDOMPhase``.
Writer '``html``':
- Changed the semantics of ``-W embed-stylesheet`` and ``-W stylesheet``.
- Added ``-W stylesheet2`` option to specify a secondary embedded stylesheet.
- Changed default of ``-W field-limit`` to 14 from 15.
- Reworked so all the writer's annotations are in DOM's ``{_html}`` member.
- Reworked so that DOM's ``{attr}`` member is read-only; HTML attributes
are all copied to ``{_html}{attr}`` member.
- Factored out much of the attribute handling into a ``GetAttr`` routine.
- Fixed output of literals embedded in literals.
Writer '``index``':
- Restructured code for simplification
- Pass the a writer argument into ``QuoteStart``.
- Fixed processing of ``-W short-titles``.
- Added handler for interpreted roles.
Writer '``toc``':
- Simplified code for ``generated``.
Writer '``xref``':
- Simplified code for substitution definitions.
Did not exist.
Updated manifest to add files that will allow the regression to pass
on machines with differing locales.
Added test files to fix problems when different locales use different
text for system error messages.
Prest application:
- Fixed problem that caused bare subroutines in writers to be compiled
more than once.
- Removed the path out of the subroutine names created when compiling
writer routines.
- Fixed the ``#line`` directives for writer subroutines so that better
error messages/coverage results are obtained.
Made writers more efficient by renaming package subroutines to ``BEGIN``
so that they will always be called exactly once.
Writer '``html``':
- Incorporated changes in docutils ``html`` writer:
- No longer change double-quotes to "``"``".
- No longer put a newline after a ``<pre>``.
First release that was indexable on CPAN.