# Change log for HTML::WikiConverter version: 0.68 date: 2009-03-21 changes: - (bug #20594) require CSS.pm version 1.07 to fix some 'make test' errors (eg, DokuWiki) - improve some documentation version: 0.67 date: 2009-03-16 changes: - add 'p_strict' attribute for enabling/disabling HTML::TreeBuilder's p_strict option (enabled by default) -- this was done for the Markdown dialect, specifically for bug #43997 - mention XML::Writer requirement in README if cgi app is installed - webapp-install script creates webapp directory if necessary - miscellaneous minor code cleanup version: 0.66 date: 2009-03-07 changes: - fix test suite: change html2wiki/test.html to html2wiki-old/test.html - rudimentary webapp-install script version: 0.65 date: 2009-03-07 changes: - web app fixes: comment-out the donation link in templates/main.html, improved docs in cgi/index.cgi version: 0.64 date: 2009-03-06 changes: - add web application, HTML::WikiConverter::WebApp - now requires CGI::Application (for the aforementioned web app) - (bug #40845, debian #506584) allow relative wiki_uri (eg, "/wiki/"); an absolute wiki_uri is constructed from a relative wiki_uri and a base_uri - add perl license to Makefile.PL version: 0.63 date: 2008-11-11 changes: - improved support for nested blocked elements (needed, e.g., for MediaWiki support of 'p' elements within table cells, bug #37911) version: 0.62 date: 2008-05-16 changes: - blocked elements are not blocked if they are contained within a blocked element (with much thanks to Dominick Bellizzi for the patch) - rules_for_tag() now dereferences the 'alias' subrule version: 0.61 date: 2006-07-21 changes: - add HTML::Element and CSS prereqs for Normalizer.pm so that 'make test' succeeds version: 0.60 date: 2006-07-20 changes: - add CSS-to-HTML normalization so, for example, '<font style="font-weight:bold">text</font>' will be interpreted as '<b>text</b>' before conversion to wiki markup - CSS-to-HTML normalization, which is enabled by default, can be disabled by setting the 'normalize' to a false value - add 'passthrough_naked_tags' attribute, which accepts a list of tags to be replaced with their content if the tags contain no attributes - add on-demand rule-loading so that rules that depend on attribute values will be updated when attributes are updated - add "UNKNOWN" rule as a catch-all for unknown tags - HTML can now be fetched from a URI by passing a 'uri' option to the html2wiki() method - the user agent used to fetch content from a URI can be specified in the 'user_agent' attribute - add 'passthrough' subrule for dialect module authors - rename 'remove_empty' to 'strip_empty_tags' for consistency with other attributes - improve handling of 'strip_empty_tags' attribute so that elements containing only whitespace are considered empty - documentation tweaks, including better synopsis [todo] version: 0.55 date: 2006-06-08 changes: - (bug #19429) add "escape_entities" attribute - html2wiki utility accepts command-line options for all dialect attributes - all recognized options to html2wiki now displayed with --options switch on the command line - improved error messages using carp/croak version: 0.54 date: 2006-06-07 changes: - (bug #19046) allow lone '0' in text (previously such strings were assumed empty) - (bug #19046) element attributes must be containined on a single line version: 0.53 date: 2006-06-03 changes: - revert "dialects now inherit via 'use HTML::WikiConverter -dialect;'" change - lots of documentation tweaks - allow attributes in html2wiki() - add 'remove_empty' attribute (requires HTML::Tagset) - add 'slurp' attribute (previously it was just an html2wiki() arg) - add eof() call after parse() version: 0.52 date: 2006-03-03 changes: - document the 'preprocess' attribute - remove 'wiki_page_extractor' attribute - allow 'wiki_uri' to contain coderefs that were previously used for the now-defunct 'wiki_page_extractor' attribute - use File::Slurp (if available) for file slurping - 'wrap_in_html' now applies to html read from files too - fix bug in how 'wrap_in_html' is applied to files (previously it was clobbering html read from files) - add attribute() function/class method for greater flexibility when defining attribs (hence new Params::Validate and Class::Data::Inheritable prereqs) - coalesce 'strip_*' into 'strip_tags' attribute, which accepts an arrayref - fix bug in __param() that caused Boolean attributes to return an empty string when they were set to a false value - dialects now inherit via 'use HTML::WikiConverter -dialect;' - dialects no longer have to be within the H::WC namespace - rename __param() to _attr() and document its intended use by dialect modules version: 0.51 date: 2006-01-29 changes: - add available_dialects() method, with thanks to Tatsuhiko Miyagawa for the code and suggestions - add 'preprocess' attribute, which accepts a callback to allow client to alter HTML tree prior to html2wiki conversion - improve handling of nested block elements to simplify dialect rules - allow 'wiki_uri' to contain arrayref of wiki URIs, allowing things like 'http://en.wikipedia.org/wiki/' and 'http://en.wikipedia.org/w/index.php?action=edit&title=' to be specified simultaneously - allow wiki URIs in 'wiki_uri' attribute to be either a string (as before) or a regexp, the latter capturing the wiki page title in parentheses - add 'wiki_page_extractor' attribute, which accepts a callback that extracts a wiki page title given a URI object (see bug #17330) - unescape URIs using URI::Escape so that e.g. "%3A" appears as ":" in URIs version: 0.50 date: 2006-01-10 changes: - separate each dialect into is own CPAN package for maintainability version: 0.41 date: 2006-01-09 changes: - update documentation (no code changes) version: 0.40 date: 2006-01-09 changes: - (bug 13561) support multiple encodings via 'encoding' attribute - (bug 13106) DokuWiki: rename from DocuWiki - (bug 13167) PmWiki: handle <a name="anchor"> - (bug 13171) PmWiki: inline style rules fixed - (bug 14274) MediaWiki: better <nowiki> handling - (bug 14527) MediaWiki: better handling of <pre> blocks with empty lines - trim whitespace at end of each wiki line - html2wiki utility now installed by 'make install' - 'wrap_in_html' attribute now enabled by default in H::WC version: 0.30 date: 2005-06-03 changes: - add support for WakkaWiki, SnipSnap, Oddmuse, and TikiWiki (see http://c2.com/cgi/wiki?TopTenWikiEngines) - add DokuWiki support for links, blockquotes, images, and tables - add 'strip_scripts', 'strip_head', and 'strip_comments' options, on by default - allow 'start' and 'end' rules to be specified with 'preserve' to allow for wiki escaping - allow reading from HTML files using "html2wiki( file => ... )" - (bug 12944, 12303) preserve HTML entities in text nodes - (bug 13017) MediaWiki should allow <i> and <b> to be preserved rather than converting to '' and ''' - backend API changes; dialect modules now subclass HTML::WikiConverter - dialects specify their attributes using the attributes() method - more complete tests using larger input HTML file - document individual dialects - lots of documentation fixes version: 0.23 date: 2005-05-22 changes: - add DokuWiki dialect (with thanks to Thomas J. Messenger) - (bug 12441) allow dialects to post-process wiki markup - (bug 12440) add 'empty' rule for elements with no content - (bug 12439) unknown HTML elements no longer ignored - (bug 12396) added command line tool bin/html2wiki - (bug 12395) MoinMoin: added postprocessing step in MoinMoin dialect to replace "URL[[BR]]" with "URL [[BR]]" - (bug 12433) MediaWiki: added complete set of whitelisted tags and attributes from Sanitizer.php version: 0.22 date: 2005-04-25 changes: - (bug 12393) added 'wrap_in_html' option to wrap HTML input in <html> and </html> prior to wiki conversion - (bug 12303) MediaWiki: bracketed content is nowiki-escaped if it resembles an external link reference - (bug 12438) PmWiki: add <td> whitespace trimming version: 0.21 date: 2005-03-17 changes: - misc. documentation fixes - use '' as default return value from base_uri() method - add 'wiki_uri' parameter to specify how wiki links are formed - add get_attr_str() and get_wiki_page() utility methods - rename elem_contents() to get_elem_contents() for consistency - added support for PmWiki - fix postprocess whitespace trimming bug; only leading newlines and trailing whitespace is trimmed - add URI 1.35 requirement (though some earlier versions will probably work) - fix whitespace trimming in test suite - added new tests - Kwiki-specific changes: - add <strike> as alias of <s> - add <caption> preprocessing to convert it into a <p> - update wiki link handling code to use get_wiki_page() - removed markup around CamelCase links - MediaWiki-specific changes: - use new get_wiki_page() utility method - no longer passes a full URI to basename(); uses URI->path() - added support for attributes in <table>, <tr>, and <td> - MoinMoin-specific changes: - add <caption> preprocessing as in Kwiki - make rules less redundant (use 'alias' rule) - PhpWiki-specific changes: - add <caption> preprocessing as in Kwiki - improve support for <dl> - UseMod-specific changes: - add <caption> preprocessing as in Kwiki version: 0.20 date: 2005-03-12 changes: - complete rewrite, significant API changes - added support for Kwiki, MediaWiki, MoinMoin, PhpWiki, and UseMod version: 0.17 date: 2004-07-07 changes: - update test suite - remove warnings reported by cpan testers - lots of documentation additions - MediaWiki changes: - 'wikify_span' now removes elements intended only for URL expansion (as used by the MonoBook skin) - 'wikify_link' does not wikify anchor tags (i.e. A tags must have an HREF attribute) - bug fix: table heading markup like "! bgcolor=black !" is now properly generated as "! bgcolor=black |" - TH now accepts a colspan and rowspan attribute - "colspan=1" attribute is now stripped from table cells that only span a single column. Likewise for "rowspan" - added "taxo_format" option to help format taxoboxes - align attribute is now preserved in TH and TD - add "add_nowiki" parameter for adding NOWIKI tags around {{messages}} - table caption handling using "|+" wiki table markup - better nested table handling; a newline is now added before the "{|" for nested tables - improved handling of image thumbnails - now uses warnings, strict version: 0.16 date: 2004-05-28 changes: - Added 'elem_style_attr_props' method for parsing the STYLE attribute - Tags that are meant to be stripped (e.g. HTML, META, HEAD) no longer need an empty replacement handler (they can simply be excluded from the list of tag handlers) - Added handling of non-breaking elements (e.g. in some dialects, such as MediaWiki, P tags should not have any embedded newlines) - Fixed whitespace handling in H::W::Dialect - Documentation additions - Added benchmarking option - MediaWiki: added colspan and rowspan to allowed TD attrs - MW: Now supports 'pretty_tables' option for making nice borders/shading - MW: Removed arbitrary 20-char limit in conversion of {{...}} magic - MW: "[1]"-style links are now handled properly - MW: Hex codes/HTML entities in URLs now translated to appropriate char (requires URI::Escape) - MW: Major list handling cleanup and bug fixes - MW: Added new realworld test (my User: page) version: 0.15 date: 2004-05-20 changes: - Split module into several separate modules - HTML::WikiConverter is still the main interface - Added support for wiki dialects via HTML::WIkiConverter::Dialect interface - Added HTML::WikiConverter::Dialect - Added HTML::WikiConverter::Dialect::MediaWiki - Added HTML::WikiConverter::Dialect::PhpWiki - Added HTML::WikiConverter::Dialect::Kwiki - Fixed spacing issues in tidy_whitespace - Added container, block, and line element handling - Now supports multiply-indented blocks version: 0.14 date: 2004-05-17 changes: - 'wikify_default' now called 'passthru' - NOWIKI blocks are no longer preserved - Bug fix: Add newline to HTML source before wikification -- avoids apparent bugs in HTML::TreeBuilder that prevent proper tag handling - Added trim method - Bug fix: Extra whitespace in PRE blocks no longer trimmed - Can now handle "[[language]]s" links (with trailing characters) version: 0.12 date: 2004-05-14 changes: - Bug fix: removed reference to non-existent 'has_parent' method within '_elem_has_ancestor' function - Bug fix: fixed potential bug in 'wikify_list_item' which used $node->parent->tag eq '...' instead of _elem_has_ancestor($node, '...') - Now supports definition lists via ; and : - Now supports indentation via : - Replaced code handler for P tag with flank handler - Replaced code handler for OL/UL tags with flank handlers - Renamed 'wikify_heading' method to 'wikify_h' for consistency with other wikify_* handlers - NOWIKI blocks are now preserved - Introduced beginnings of Unicode support with the use of HTML entities to HTML-escape high-bit characters - Added more tests to t/test.t version: 0.11 date: 2004-05-10 changes: - added wikify_default code handler for tags that should be preserved. - Added wikify_span - Now preserves FONT, SUP, and SUB tags - SPAN tags are converted into FONT if possible version: 0.10 date: 2004-05-07 changes: - Initial release