Revision history for Perl extension HTML::Parser::Simple.
2.02 Sun Jan 25 11:44:00 2014
- Rewrite bareword filehandles (INX) to use a variable (my $fh).
- Rename github repo from html--parser--simple to HTML-Parser-Simple - My new standard.
Update Build.PL and Makefile.PL to match.
- Reformat the docs, and this file, slighty, to be <= 100 chars per line - My new standard.
- Move t/pod.t to xt/author/.
2.01 Tue Oct 8 09:36:00 2013
- Incorporate repository references in Build.PL and Makefile.PL, from dsteinbrunner via github.
Thanx.
- Add 'use strict' and 'use warnings' to Build.PL and Makefile.PL, which I'm doing with all
patched modules.
- Add 'lib' to pre-preqs in Build.PL and Makefile.PL.
- Take this opportunity to switch from Moos to Moo, which I'm doing with all patched modules.
- Rename CHANGES to Changes as per CPAN::Changes::Spec.
2.00 Mon Nov 19 12:34:00 2012
- Implement a new API, using the pure-Perl module Moos.
- The use of Moos means methods which could previously be called as class methods
or instance methods must now only be called as instance methods.
- The use of Moos means new() now takes a hash, not a hashref. See scripts/*.pl.
- Details of the new API:
---------------------------------------
HTML::Parser::Simple:
New Old
Mutators Getters and Setters
---------------------------------------
block() -
current_node() get_current_node(), set_current_node()
depth() get_depth(), set_depth()
empty() -
inline() -
input_file() get_input_dir(), set_input_dir()
node_type() get_node_type(), set_node_type()
output_file() get_output_dir(), set_output_dir()
root() get_root(), set_root()
tagged_attribute() -
verbose() get_verbose(), set_verbose()
xhtml() get_xhtml(), set_xhtml()
---------------------------------------
HTML::Parser::Simple::Attributes:
New Old
Mutators Getters and Setters
---------------------------------------
a_hashref() -
a_string() -
get() get_attr()
hashref2string() -
parse() parse_attributes()
string2hashref() -
---------------------------------------
- HTML::Parser::Simple::Reporter is a new module. See scripts/parse.attributes.pl.
- Change calls from Carp::croak to die. You should be using Try::Tiny anyway :-).
- Change the fix in V 1.07 which output tags and attributes in lower-case.
As of V 2.00, tags are in lower-case but the case of attributes is preserved.
- Scripts shipped in scripts/:
Name Module
o parse.attributes.pl HTML::Parser::Simple::Reporter
o parse.html.pl HTML::Parser::Simple
o parse.xhtml.pl HTML::Parser::Simple
- Sample data used by the scripts:
Name Input Output
o parse.attributes.pl data/s.1.html Screen
o parse.html.pl data/s.1.html data/s.2.html
o parse.xhtml.pl t/data/90.xml.declaration.xhtml data/90.xml.declaration.xml
- Add t/parse.html.t, t/parse.xhtml.t, t/traverse.file.t.
- Make many changes to the docs.
1.07 Sun Nov 18 12:06:00 2012
- Replace /usr/bin/perl with /usr/bin/env perl.
- Replace common::sense with use strict and use warnings, to get uninit var warnings.
- Fix bug whereby code was assuming all tags were in the same case.
This lead to the error: Can't locate object method "getParent" via package "root"...
Due to the fix, the code now outputs all tags and attributes as lower-case.
Thanx to Satya Nemana for reporting this problem (via private email).
- Clean up the POD.
1.06 Sat Feb 5 15:57:00 2011
- Fix a bug where, if the 2nd or subsequent attribute had an empty string for the value,
the code looped forever. Eg: name="a name" value="". For RT#65466.
- Add corresponding test t/empty_attribute.t.
- Clean up the code where the length of the attribute string was tested before spaces were
trimmed.
- Reformatted the source code and POD.
1.05 Sun Feb 21 12:55:17 2010
- Remove text 'All rights reserved' (for Debian licensing).
- Remove POD heads 'Required Modules' and 'Changes'.
1.04 Mon Jan 25 09:37:00 2010
- Add MANIFEST and MYMETA.yml
- Require Perl 5.6. Thanx to 'cpanservice' via GitHub
- Reformat this CHANGES file
- Remove trailing spaces from various files
1.03 Fri Jun 12 11:49:00 2009
- Improved tests and documentation (Mark Stosberg)
- Added attribute parsing via HTML::Parser::Simple::Attributes (Mark Stosberg)
1.02 Thu Feb 26 11:24:00 2009
- Rename scripts/parse.file.pl to scripts/parse.html.pl
- Ship scripts/parse.xhtml.pl
- Ship t/Data.pm to read in test data from t/data/
- Rewrite t/*.t to use t/Data.pm
- Patch Simple.pm to accept xhtml as a parameter to new
- Patch Simple.pm to use xhtml in a few of places. XHTML support is not finished!
- Patch Simple.pm to use accessors for object attributes as per PBP. Specifically:
get/set_*() for current_node, depth, input_dir, node_type, output_dir, root, verbose, xhtml
- Hence, rename root() to get_root()
- Hence, rename verbose() to get_verbose()
- Rename new_node() to create_new_node(), since that makes more sense when using get/set_*()
- There are no methods get_result() and set_result(). The reason is efficiency. If we had
$self -> set_result($self -> get_result() + '<tag>') it would mean duplicating the result so far
each time a few chars were added
- Ship various tests, with data, for XHTML
- Add depth to the hashref of data for each tag's node in the tree
- Put the code in github: git://github.com/ronsavage/html--parser--simple.git
1.01 Wed Feb 25 19:44:00 2009
- Add Tree::Simple to Build.PL and Makefile.PL
- Patch POD to replace note about required module Tree::DAG_Node with Tree::Simple
1.00 Wed Feb 18 11:22:00 2009
- Original version