X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FHTML%2FZoom.pm;h=0f0d75faf27d5f4e43c67317f91496a3402d7d2d;hb=57076fa16f45eb212dac6cda4cf9231938479802;hp=1cb15ded23a87f5d3a25d5a386d33e00f21f1eff;hpb=6af04df5d563b2044ff7d65c88f977557ec17e48;p=catagits%2FHTML-Zoom.git diff --git a/lib/HTML/Zoom.pm b/lib/HTML/Zoom.pm index 1cb15de..0f0d75f 100644 --- a/lib/HTML/Zoom.pm +++ b/lib/HTML/Zoom.pm @@ -8,7 +8,7 @@ use HTML::Zoom::Transform; use HTML::Zoom::TransformBuilder; use Scalar::Util (); -our $VERSION = '0.009005'; +our $VERSION = '0.009008_01'; $VERSION = eval $VERSION; @@ -174,6 +174,8 @@ sub _do { } } +sub DESTROY {} + 1; =head1 NAME @@ -211,13 +213,14 @@ HTML::Zoom - selector based streaming template engine $_->select('.name')->replace_content('Matt') ->select('.age')->replace_content('26') }, + # alternate form sub { - $_->select('.name')->replace_content('Mark') - ->select('.age')->replace_content('0x29') + $_->replace_content({'.name' => ['Mark'],'.age' => ['0x29'] }) }, + #alternate alternate form sub { - $_->select('.name')->replace_content('Epitaph') - ->select('.age')->replace_content('') + $_->replace_content('.name' => 'Epitaph') + ->replace_content('.age' => '') }, ], { repeat_between => '.between' } @@ -340,14 +343,12 @@ cleanly: ->add_to_attribute( for => $field->{id} ) ->then ->replace_content( $field->{label} ) - - ->select('input') - ->add_to_attribute( name => $field->{name} ) - ->then - ->add_to_attribute( type => $field->{type} ) - ->then - ->add_to_attribute( value => $field->{value} ) - + ->add_to_attribute( + input => { + name => $field->{name}, + type => $field->{type}, + value => $field->{value} + }) } } @fields ]); @@ -642,6 +643,12 @@ zoom instance with that as the source HTML to be transformed. Convenience method - slurps the contents of $file and calls from_html with it. +=head2 from_events + + my $zoom = HTML::Zoom->from_events($evt); + +Create a new Zoom object from collected events + =head2 to_stream my $stream = $zoom->to_stream; @@ -690,6 +697,14 @@ sugar, the following is entirely equivalent: my $z2 = $sub->($z1); +=head2 apply_if + + my $z2 = $z1->apply_if($cond, sub { + $_->select('div')->replace_content('I AM A DIV!') }) + }); + +->apply but will only run the tranform if $cond is true + =head2 to_html my $html = $zoom->to_html; @@ -774,6 +789,8 @@ John Napiorkowski Robert Buels +David Dorward + =head1 COPYRIGHT Copyright (c) 2010-2011 the HTML::Zoom L and L