Revision history for XML-Grammar-Fiction.

0.28.1       2022-03-23

    - Better error handling.

0.28.0       2022-03-16

    - add the <strong> element to screenplays.
    - fix missing space when there is an inlinedesc followed by an
    opening tag.

0.26.3       2022-02-13

    - revert trailing space change from v 0.26.2 due to an HTML
    minifier issue.

0.26.2       2022-02-09

    - avoid trailing space on lines on output.

0.26.1       2021-08-24

    - Set homepage in dist.ini / META.yml.

0.26.0       2021-08-24

    - Add dom_post_proc to XML::Grammar::Screenplay::App::ToHTML .
        -  With tests

0.24.0       2021-07-30

    - Add support for xml to bin/screenplay-text--list-images
    - Add bin/screenplay-text-to-screenplay-xml
    - Refactoring

0.22.7       2021-07-07
    - extradata/screenplay-xml-to-html.xslt: Avoid emitting square brackets
    when the "description" element contains only a single image.

0.22.6       2021-07-04
    - Handle space between a closing tag and an innerdesc.

0.22.5       2021-06-27
    - Handle unanchored paragraphs in*.screenplay-text.txt
    files more gracefully.

0.22.4       2021-04-24
    - Test <i> tags in the beginning of paragraphs in Screenplay-Text.
    - Cleanup the previous changes.

0.22.3       2021-04-24
    - Support <b> tags in the beginning of paragraphs in Screenplay-Text.

0.22.2       2021-04-11
    - Use an <a xlink:href=""> tag as an alias to "ulink url="
        - Screenplay-XML
        - Modernised XML.

0.22.1       2021-03-06
    - Add a tag_role="code_block" option for code_blk.

0.22.0       2021-02-13
    - Add bin/screenplay-text--list-images

0.20.2       2021-01-26
    - Allow for a single <image> tag inside a description paragraph

0.20.1       2020-11-14
    - Fix the handling of SGML/HTML/XML Entities inside tag attributes:
        - Reference: https://stackoverflow.com/questions/9187946/escaping-inside-html-tag-attribute-value

0.20.0       2020-11-13
    - Add the <code_blk /> element for encapsulating ASCII art
        - t/screenplay/data/proto-text/with-tags-inside-paragraphs-with-code-block.txt
        - Thanks to perryprog
    - Add bin/screenplay-text-to-xhtml5

0.18.4       2020-10-20
    - dist.ini / weaver.ini / .tidyallrc / etc. cleanup
        - Move to @SHLOMIF

0.18.3       2020-01-28
    - Rebuild for order of 'NAME' and 'VERSION' sections in the generated
    POD documentation (see:
    https://metacpan.org/changes/distribution/Pod-Weaver-PluginBundle-SHLOMIF#L3
    ).
        - VERSION used to appear before NAME.
    - Remove the libxml version check test.

0.18.2      2019-12-05
    - Propagate the toplevel scene's title="" attribute to the HTML <title>
    tag in Screenplay-Text.

0.18.1      2019-12-02
    - Merge in XHTML5 changes from hg repo and restore broken functionality.

0.18.0      2019-12-02
    - Convert to @SHLOMIF dzil+podweaver.
    - Explicit imports
    - TidyAll
    - Move repo to https://github.com/shlomif/fiction-xml .

v0.16.0     2018-10-16
    * Add a lang attribute to scenes in the screenplays.

v0.15.0     2018-09-28
    * Convert dist.ini to @SHLOMIF .
    * Convert extradata/screenplay-xml-to-html.xslt to emit XHTML5.

v0.14.12    2017-08-20
    * [RewriteVersion] in dist.ini.

v0.14.11    2014-10-27
    * Change Encoding to SingleEncoding in weaver.ini.
        - Thanks to sromanov.
        - https://bitbucket.org/shlomif/fiction-xml/pull-request/1/change-pwp-encoding-to-pwp-singleencoding/diff

v0.14.10    2014-08-18
    * Fix code and tests with the recent Type::Tiny that no longer accepts
    isa => classname.

v0.14.9     2014-08-06
    * Add the meta content directive to the HTMLs in the XSLT.

v0.14.8     2014-02-01
    * Add "use strict;" and "use warnings;" to all modules (CPANTS).
    * Remove the rejects directory from the distribution - it confused
    CPANTS.
    * Add provides to META.yml (CPANTS).

v0.14.7     2013-07-15
    * Skip compiling the scripts with extra dependencies.

v0.14.6     2013-05-14
    * Minimal version of perl is now 5.14.x.
        - to avoid test failures like:
        - http://www.cpantesters.org/cpan/report/1cf5be2e-bc06-11e2-8c80-50d7c5c10595

v0.14.5     2013-05-09
    * Increase dependency of XML::GrammarBase to 0.2.2.
        - For a better minimal version of libxml2 to avoid test failures.

v0.14.4     2013-05-01
    * Got rid of trailing space in comments with newlines.
        - Apparently XML::Writer appends surrounding spaces to the comments
        being output, and if the comment starts or ends with a newline,
        then it's a problem.
        - Checking in a test in:
            - t/screenplay/proto-text-to-xml-using-custom-parser.t


v0.14.3     2013-04-30
    * Convert 'Changes' (this file) to CPAN::Changes.
        - Add a test in dist.ini.

v0.14.2      2013-04-30
    * Tweak dist.in to have proper runtime dependencies.
        - Thanks to leont on irc.perl.org .
    * Remove the Makefile.PL from the target distribution.
        - it did not handle dependencies well.
        - thanks to ether and kentnl on irc.perl.org .

v0.14.1      2013-04-29
    * Moved unused to rejects:
        - lib/XML/Grammar/Fiction/RNG_Renderer.pm
        - lib/XML/Grammar/Screenplay/XSLT/Base.pm
    * Made Test::XML::Ordered a test phase requires in dist.ini.
        - so it will be mentioned only once.

v0.14.0      2013-04-28
    * Update the glob in inc/Test/Run/Builder.pm .
        - include t/screenplay/*.t and t/fiction/*.t .
    * lib/XML/Grammar/FictionBase/XSLT/Converter.pm
        - Refactoring: _data_dir now initialized from default => sub { ... }.
        - Refactoring: _rng now initialized from default => sub { ... }.
    * Convert to XML::GrammarBase :
        - lib/XML/Grammar/Fiction/ToHTML.pm
        - lib/XML/Grammar/Fiction/ToDocBook.pm
        - lib/XML/Grammar/Screenplay/ToDocBook.pm
        - lib/XML/Grammar/Screenplay/ToHTML.pm
        - lib/XML/Grammar/Screenplay/ToTEI.pm
    * Add a missing Test::XML::Ordered minimal version of 0.0.5
        - Due to test failures.

v0.12.5      2013-04-27
    * Do not try to compile scripts/bump-version-number.pl .
        - Requires File::Find::Object which isn't a dependency.
    * New version of MooX::late to avoid test failures.
        - MooX::late = 0.010

v0.12.4      2013-04-22
    * Add $VERSION to more missing files.

v0.12.3      2013-04-22
    * Add $VERSION to missing files.

v0.12.2      2013-04-09
    * Made error handling more informative.

v0.12.1      2013-03-26
    * Add MooX::late to the dependencies to avoid test failures:
        - http://www.cpantesters.org/cpan/report/62d51cec-946e-11e2-b162-c5ed238b44f3

v0.12.0      2013-03-21
    * BUG FIX: add the xmlns='http://www.w3.org/1999/xhtml' to the XML
    generated by extradata/screenplay-xml-to-html.xslt - fixed the broken
    tests.

    * Extract some classes into lib/XML/Grammar/Fiction/FromProto/Node/*.

v0.11.1      2013-02-20
    * Add $VERSION and =head1 VERSION to the .pm files that missed them.

v0.11.0      2013-02-20
    * Add the <img /> tag to the Screenplay.
    * Convert the distribution to use Dist-Zilla.
    * Convert the tests from Test::XML to Test::XML::Ordered.

v0.10.0      2013-01-13
    * Add more links to the XML::Grammar::Fiction's perldoc.
    * Convert from Mouse to Moo, MooX and "use MooX 'late'".
    * Add t/00-libxml-basic.t to diagnose the XML::LibXML version.

v0.9.3       2012-07-31
    * Add an explicit version of 0.0301 to File::Find::Object::Rule .
        - With lower versions tests fail.
        - Thanks to Slaven Rezic for the report and investigation.

v0.9.2       2012-07-28
    * Add List::MoreUtils to the dependencies.
        - Some build failures at:
            - http://www.cpantesters.org/cpan/report/add74ed0-d84a-11e1-9066-3d54fb7543f5

v0.9.1       2012-07-27
    * Update the link to the repository in META.yml/META.json.

v0.9.0       2012-07-27
    * Add t/style-trailing-space.t to check for trailing space.
        - Got rid of trailing space.
        - TODO: extract into a CPAN module.
    * Convert from "use Moose;" to "use Mouse;":
        - it made the test suite run faster.
        - TODO: test with https://metacpan.org/module/Moo .

v0.8.1       2012-06-09
    * Add t/base/line-iterator-unit.t to provide unit-tests for
        XML::Grammar::FictionBase::FromProto::Parser::LineIterator .
    * Add "use autodie" to the modules with open calls.

v0.8.0       2011-06-08
    * <blockquote> now supports xml:id and xml:lang.
    * Fiction-Text: a plus sign ( + ) at the starting line of the paragraph
    now indicates that the following tag is a style tag.
    * lib/XML/Grammar/Fiction.pm - add a comprehensive example to the POD
    itself.
    * Consolidated the lib/XML/Grammar/Fiction.pm 's todo into the C<TODO>
    file.
    * lib/XML/Grammar/Screenplay.pm - add an example in the code.

v0.7.0       2011-05-25
    * Add support for the lang="..." attribute of <body> in Fiction-Text which
    would be translated to <body xml:lang=".."> attribute in Fiction-XML (and
    eventually to DocBook 5/XML).
    * Add support for the lang="..." attribute in <section>/<s>.
    * Add the <span> tag for Fiction-Text (already exists in Fiction-XML).
        - supports two attributes - lang -> xml:lang and id -> xml:id.
    * Now supporting xml:lang and xml:id in the <a /> tag in Fiction-Text
    and Fiction-XML .
    * Bumped the testing dependencies for Test::XML version '0.08' and
    XML::SemanticDiff '1.0000' - the test failed otherwise.

v0.6.0       2011-05-23
    * Add the version="5.0" attribute to the top-level tag of the
    DocBook 5/XML generated by extradata/fiction-xml-to-docbook.xslt .
    * Got rid of leftover files in t/fiction/data that were not used
    by the tests.
    * A lot of refactoring and cleanup - moved some modules from
    XML-Grammar-Fiction to XML-Grammar-FictionBase .

v0.5.1       2011-05-22
    * Fix the handling of entities at the start of the opening line of
    paragraphs in the Fiction-Text . See
    t/fiction/data/proto-text/paras-with-entities-at-start-of-line.txt .

v0.5.0       2011-05-21
    * Add support for the <programinglisting> tag.
    * Fix the handling of the entities ("&amp;" "&#32;" etc.) in Fiction-Text.

v0.4.1       2011-05-21
    * Properly handling whitespace after a closing tag in the Fiction-Text
    proto-text. Like:
        - "</b> foo" should be translated "</b> foo" instead of "</b>foo".

v0.4.0       2011-05-20
    * Updated some of the bug report URLs to read "XML-Grammar-Fiction"
    instead of "XML-Grammar-Screenplay".
    * Add support for the <blockquote> tag to Fiction-XML / Fiction-Text.

v0.3.0       2011-05-17
    * Add extradata/screenplay-xml-to-tei.xslt and
    lib/XML/Grammar/Screenplay/ToTEI.pm - add tests for them.
        - They convert Screenplay-XML into TEI - Text Encoding Initiative,
        a markup language for digital representation of texts (especially
        artsy texts such as screenplays, prose or poems)
            - http://www.tei-c.org/ .
        - This will allow for easier conversion into XSL-FO, as well as many
        other formats.
    * Got rid of the <!DOCTYPE .... > declaration in the Screenplay-XML
    output (it confused the heck out of xsltproc and was not really needed
    as we use a RELAX-NG schema instead of a DTD.)
    * Create lib/XML/Grammar/FictionBase/XSLT/Converter.pm as a base
    class for the converters.
        - removed lib/XML/Grammar/Fiction/RendererBase.pm as it was no
        longer used.
        - Create some sub-classes.

v0.2.0       2011-05-13
    * Add support for <ol>, <li> and <ul> to Fiction-Text and Fiction-XML.

v0.1.7       2011-04-19
    * Add support for &#91; and other numeric entities.

v0.1.6       2011-04-09
    * Now handling the <a /> element only in XML::Grammar::Screenplay - it
    does not exist in ::Fiction.
    * Add support for the <a href="$URL">$CONTENT</a> tag in Fiction-Text
    which is translated into <span xlink:href="$URL" >$CONTENT</span> in
    the Fiction-XML grammar.

v0.1.5       2011-04-04

    * Add the tag-release.pl script to tag a release using svn.berlios.de.
    * Fix the handling of a colon (":") inside a top-level description
    in XML-Grammar-Screenplay.

v0.1.4       2011-04-04
    * ::Screenplay - Fix the innerdesc on the start of the line in the middle
    of the paragraph. Like:

-----------------
Hi I went to the store and
[walks around the room, nervous] bought a chocolate bar.
-----------------

        - this was caused by two bugs here

-----------------
-$self->_prev_line_is_empty($self->curr_line_ref() =~ m{\A\s*\z});
+$self->_prev_line_is_empty(scalar(${$self->curr_line_ref()} =~ m{\A\s*\z}));
-----------------

        - they cancelled each other most of the time except for in this
        case.

    * ::Screenplay - add support for Screenplay-Text's <i> tags which get
    translated into Screenplay-XML's <italics> tags.

v0.1.3       2010-12-17
        - Moved some unused source files to the rejects directory.
        - Convert to the new XML-Grammar-Fiction-Builder which uses
        File::ShareDir, which will hopefully resolve testing and installation
        problems.

v0.1.2       2010-04-29
        - In the Build.PL - merged 'test_requires' into 'build_requires'.
        Turns out that 'test_requires' is a Module::Installism.

v0.1.1       2010-04-27
        - Made sure XML-Grammar-Screenplay used
        XML::Grammar::Fiction::ConfigData instead of
        XML::Grammar::Screenplay::ConfigData . This broke the installation
        and tests on the following test reports:
            - http://www.cpantesters.org/cpan/report/7167671
            - http://www.cpantesters.org/cpan/report/7167759
            - http://www.cpantesters.org/cpan/report/7167134

v0.1.0       2010-04-26
        - Merged in the XML-Grammar-Screenplay into this module.
        - Converted XML-Grammar-Screenplay to a non-procedurally-recursive
        parser.
        - Created some base classes:
            - lib/XML/Grammar/Fiction/FromProto/Parser/LineIterator.pm
            - lib/XML/Grammar/Fiction/FromProto/Parser/XmlIterator.pm
            - lib/XML/Grammar/FictionBase/TagsTree2XML.pm
        - Made XML-Grammar-Screenplay use some of the XML-Grammar-Fiction
        classes instead of having duplicate copies.
        - Add the TODO file.

v0.0.4       2010-03-13
        - Implemented better error handling and presentation in
        ::App::FromProto.
            - making use of Exception-Class-based classes.
        - Removed the DOCTYPE from the DocBook/XML output (it was a DocBook
        4-ism).

v0.0.3       2009-11-27
        - Add the script contrib/docbook-to-fiction-xml-txt.pl .
        - Add delimiting empty lines to a =begin ... =end block to settle
        some versions of t/pod.t
            - Thanks to SREZIC.

v0.0.2       2009-11-25
        - Various refactorings / code cleanup:
            - removed old methods.
            - got rid of the _with_curr_line() anti-abstrcation.
            - converted the parsing exceptions to Exception-Class
            ( see lib/XML/Grammar/Fiction/Err.pm )
            - Extract the Struct/Tag.pm helper class.
            - extracted the lib/XML/Grammar/Fiction/RendererBase.pm
            and lib/XML/Grammar/Fiction/RNG_Renderer.pm base classes.
            - Convert the proto-text parser (::Parser::QnD) to a
            non-procedurally recursive one and extracted many methods from it.

v0.0.1       2009-11-05
        - Forked from XML-Grammar-Screenplay-0.0600+trunk.
        - Changed to the Fiction proto-text format and XML format.
        - Changed the tests to be in accordance with the new semantics.
        - First CPAN release.

Revision history for XML-Grammar-Screenplay

        - Added the resources and keywords to the Build.PL and META.yml.

v0.0600  2009-10-09
        - Converted the generated Screenplay-XML to its own namespace:
        http://web-cpan.berlios.de/modules/XML-Grammar-Screenplay/screenplay-xml-0.2/
        - Adapted the stylesheets, the RelaxNG schema, etc. to that while
        adapting the test scripts.

v0.0503  2009-07-29
        - Included a "package XML::Grammar::Screenplay::FromProto::Nodes"
        statement at the top of:
        lib/XML/Grammar/Screenplay/FromProto/Nodes.pm
        Because otherwise the rpm builder was confused.

v0.0502  2009-03-04
        - Upgraded inc/XML/Grammar/Builder.pm to 0.0101 to (hopefully)
        handle the extradata properly under all conditions.

v0.0501  2009-03-03
        - Changed the Build.PL to use XML::Grammar::Builder.
            - changed the tests accordingly, due to the lack of
            "blib/extradata".

v0.0500  2009-02-27
        - Converted to use a RelaxNG schema.
            - Now using it in ::ToHTML instead of the DTD.
        - Added a sanity check for no inner desc inside the addressing part.
        - Changed the 'license' field in Build.PL from 'bsd' to 'mit'
        which is more accurate.

v0.0402  2008-04-25
        - Fixed a thinko with the wrong path to the DTD:
        "products-syndication.dtd" instead of "screenplay-xml.dtd".
        Possibly a copy-and-paste bug.

v0.0401  2007-07-14
        - Converted the "Screeplay" strings that were a leftover from
        the wrong module-starter invocation into "Screenplay".

v0.04    2007-06-11
        - Added the Quick-and-Dirty FromProto parser, which is slightly faster,
        than the Parse::RecDescent one and with much better diagnostics.
        - More parsers can be added later.
        - Broke some compatibility - now require "use"-ing the parser class.

v0.03    2007-05-22
        - Added the <br /> tag.
        - Added a description of the proto-text format in the POD and
        other POD.
        - Fixed the space being part of the saying issue in the generated
        HTML.

v0.02    2007-05-21
        - Added the title="" attribute to the scene tag.
        - Added support for SGML-like entities
        - Added the direct ScreenplayXML -> HTML processor.

v0.0101  2007-05-17
        - BUG FIX: Changed to open the filename in
        XML::Grammar::Screenplay::FromProto in ":utf8" mode.
        - BUG FIX: added more dependencies to the Build.PL.