Simon Elliott [Mon, 31 Jan 2011 16:34:44 +0000]
Merge branch 'master' of git://git.shadowcat.co.uk/catagits/HTML-Zoom
Oliver Charles [Fri, 28 Jan 2011 15:33:55 +0000]
Added apply_if to only run an apply block if a predicate is true
Jakub Narebski [Mon, 24 Jan 2011 20:02:39 +0000]
Merge branch 'documentation'
Jakub Narebski [Mon, 24 Jan 2011 13:27:34 +0000]
Documenting HTML::Zoom::FilterBuilder further
Only prepend_contents and append_contents are not documented at all.
Note also that documentation migh not fit actual current behavior!!!
Jakub Narebski [Mon, 24 Jan 2011 12:44:31 +0000]
HTML::Zoom::FilterBuilder: =head2 sections should not contain args
The reason for this is being able to link to <manpage>#set_attribute
via L</set_attribute> or L<HTML::Zoom::FilterBuilder/set_attribute>.
Requested-by: Matt S Trout <mst@shadowcat.co.uk>
Jakub Narebski [Mon, 24 Jan 2011 12:04:33 +0000]
Improve [attr~="value"] selector (attribute contains word)
Instead of first splitting attribute value into words, and then
checking that one of words is equal to given value
grep { $_ eq $value } split ' ', $attr;
use regexp anchored to words boundary for word matching
/\b\Q$value\E\b/
Strictly speaking it makes [attr=~"value"] selector not conformant to
CSS2+ specification, but it shouldn't matter in real life. See
http://www.w3.org/TR/CSS2/selector.html#attribute-selectors
[att~=val]
[..] If "val" contains white space, it will never represent anything
(since the words are separated by spaces). If "val" is the empty
string, it will never represent anything either.
Suggested-by: Matt S Trout <mst@shadowcat.co.uk>
Jakub Narebski [Mon, 10 Jan 2011 13:35:06 +0000]
Add test for 'flush_before' option
'flush_before' is actually option to ->collect() filter, which
underlies the ->replace() and ->repeat() filters.
Working version of example code from HTML::Zoom manpage (search for
'flush_before') is used in this test.
Jakub Narebski [Sun, 9 Jan 2011 13:59:44 +0000]
Add indirect test of '*' all match selector
Jakub Narebski [Sun, 9 Jan 2011 13:27:44 +0000]
Add support for [attr|="value"] selector (prefix selector)
http://www.w3.org/TR/css3-selectors/#attribute-selectors
http://www.w3.org/TR/CSS2/selector.html#attribute-selectors
http://api.jquery.com/attribute-contains-prefix-selector/
Description: Selects elements that have the specified attribute with
a value either equal to a given string or starting with that string
followed by a hyphen (-).
This selector was introduced into the CSS specification to handle
language attributes.
Note that this selector is primarily intended to allow language
subcode matches (e.g., the `hreflang` attribute on the <a> element in
HTML; for `lang` or `xml:lang` attribute there is `:lang`
pseudo-class selector).
Jakub Narebski [Sun, 9 Jan 2011 13:09:20 +0000]
Add support for [attr!="value"] selector (attribute not equal)
http://api.jquery.com/attribute-not-equal-selector/
Description: Select elements that either don't have the specified
attribute, or do have the specified attribute but not with a certain
value.
This selector is equivalent to :not([attr="value"]).
Jakub Narebski [Sun, 9 Jan 2011 12:44:11 +0000]
Turn pod-ed out failing tests in t/selector.t into todo tests
Descendant selectors ('elem1 elem2') doesn't work yet. The code was
"commented out"; turn it into TODO tests, taking into account the fact
that HTML::Zoom::SelectorBuilder dies on selectors it doesn't support.
While at if fix typo in failing test.
Jakub Narebski [Sun, 9 Jan 2011 12:31:36 +0000]
Add support for [attr~="value"] selector (attribute contains word)
http://www.w3.org/TR/CSS2/selector.html#attribute-selectors
http://api.jquery.com/attribute-contains-word-selector/
This selector matches the test string against each word in the
attribute value, where a "word" is defined as a string delimited by
whitespace. The selector matches if the test string is exactly equal
to any of the words.
Simon Elliott [Wed, 17 Nov 2010 10:22:41 +0000]
test for broken void elements
Joe Higton [Sat, 16 Oct 2010 23:41:28 +0000]
Added test to demonstrate bug
Joe Higton [Wed, 13 Oct 2010 07:33:41 +0000]
Catch unmatched "[" in selector parser with a helpful error
Matt S Trout [Tue, 12 Oct 2010 15:48:42 +0000]
debugging code
Joe Higton [Mon, 11 Oct 2010 16:54:19 +0000]
Change log for the next release (first attempt)
Joe Higton [Mon, 11 Oct 2010 16:08:36 +0000]
Test to show bad error message on malformed selector
Matt S Trout [Sun, 10 Oct 2010 18:56:56 +0000]
make FilterStream and MappedStream sensitive to being peeked so they peek the next stream up instead of next-ing it
Matt S Trout [Sun, 10 Oct 2010 09:04:34 +0000]
mark todo-repeat.t as broken to prevent test fails
Matt S Trout [Sun, 10 Oct 2010 09:00:33 +0000]
fixup todo-forms.t and rename to forms.t (now works)
Matt S Trout [Sun, 10 Oct 2010 08:53:46 +0000]
rename span from todo since it now works
John Napiorkowski [Mon, 4 Oct 2010 16:17:48 +0000]
trying to make the documentation a little more straightforward to setup
John Napiorkowski [Fri, 1 Oct 2010 01:41:31 +0000]
added more docs
John Napiorkowski [Thu, 30 Sep 2010 02:34:12 +0000]
started to fill out the set_attribute stub
Matt S Trout [Mon, 27 Sep 2010 19:12:18 +0000]
add VERSION to Zoom.pM
Matt S Trout [Mon, 27 Sep 2010 19:11:13 +0000]
Makefile.PL
John Napiorkowski [Mon, 27 Sep 2010 17:44:59 +0000]
revert this shit
John Napiorkowski [Sat, 25 Sep 2010 00:04:45 +0000]
starting to work down the list of methods and figuring out what does what
John Napiorkowski [Fri, 24 Sep 2010 19:49:55 +0000]
changed add_attribute to add_to_attribute
John Napiorkowski [Fri, 24 Sep 2010 01:40:28 +0000]
removed accidentally added whitespace
John Napiorkowski [Fri, 24 Sep 2010 01:39:25 +0000]
made the new FilterBuilder synopsis pass its test
John Napiorkowski [Fri, 24 Sep 2010 01:15:57 +0000]
ok now I am moving things around for no good reason...
John Napiorkowski [Fri, 24 Sep 2010 01:13:49 +0000]
I am synopsis extractor!
John Napiorkowski [Fri, 24 Sep 2010 01:12:38 +0000]
I am synopsis extractor!
John Napiorkowski [Fri, 24 Sep 2010 00:41:49 +0000]
more steroids
John Napiorkowski [Fri, 24 Sep 2010 00:16:07 +0000]
synopsis extractor on steroids
John Napiorkowski [Fri, 24 Sep 2010 00:15:16 +0000]
synopsis extractor on steroids
John Napiorkowski [Thu, 23 Sep 2010 02:59:39 +0000]
remove stuff from synopsis that does not directly related to the example given
John Napiorkowski [Thu, 23 Sep 2010 02:55:20 +0000]
got going on docs and a start on a reasonable synopsis
John Napiorkowski [Wed, 22 Sep 2010 21:39:50 +0000]
further stubbing of methods
John Napiorkowski [Wed, 22 Sep 2010 21:35:04 +0000]
stubbed out HZ:FB
John Napiorkowski [Wed, 22 Sep 2010 21:34:36 +0000]
added licensing and footer pod info to the prime pod doc so that we can refer to it all the time
Matt S Trout [Sat, 21 Aug 2010 22:53:45 +0000]
the \G? means that the string in theory always matches - 5.10 terminates, 5.8 doesn't - fixing the regexp to not be overly clever eliminates the problem
Matt S Trout [Thu, 1 Jul 2010 21:41:10 +0000]
factor out from_events and to_events
Matt S Trout [Thu, 1 Jul 2010 06:21:16 +0000]
shallow copy event hashes for is_in_place_close handling in replace
Matt S Trout [Thu, 1 Jul 2010 06:12:28 +0000]
make then() work on streams and fix up replace_content on in_place_close elements
Matt S Trout [Thu, 1 Jul 2010 04:46:39 +0000]
finish converting from MatchWithoutFilter to TransformBuilder
Matt S Trout [Thu, 1 Jul 2010 04:03:30 +0000]
move to TransformBuilder in Zoom
Matt S Trout [Thu, 1 Jul 2010 03:22:57 +0000]
move transform usage a layer out
Matt S Trout [Thu, 1 Jul 2010 02:31:53 +0000]
factor out application of a match+filter to a stream into a Transform object
Matt S Trout [Fri, 28 May 2010 19:03:18 +0000]
factor out ArrayStream, update new stream types to respect peek
Matt S Trout [Fri, 28 May 2010 12:10:55 +0000]
factor some code-based stream types out into classes
Matt S Trout [Fri, 28 May 2010 10:36:18 +0000]
clean up and fix selector parser code to match improved tests
Matt S Trout [Fri, 28 May 2010 10:35:25 +0000]
extend selector tests to check negative as well as positive
Joe Higton [Thu, 27 May 2010 14:51:31 +0000]
Improved selector parsing.
Mostly: treating each selection clause seperately instead of having special cases for each el + attribute combination
Arthur Axel 'fREW' Schmidt [Thu, 27 May 2010 15:25:40 +0000]
Make more tests pass
Arthur Axel 'fREW' Schmidt [Thu, 27 May 2010 15:19:50 +0000]
Commit tests
Arthur Axel 'fREW' Schmidt [Thu, 27 May 2010 15:31:23 +0000]
Refactor for cleaner do blocks
Arthur Axel 'fREW' Schmidt [Mon, 12 Apr 2010 05:45:18 +0000]
E[attr*="foo"]
Arthur Axel 'fREW' Schmidt [Mon, 12 Apr 2010 05:44:11 +0000]
E[attr$="foo"]
Arthur Axel 'fREW' Schmidt [Mon, 12 Apr 2010 05:42:35 +0000]
E[attr] and E[attr^="foo"]
Arthur Axel 'fREW' Schmidt [Mon, 12 Apr 2010 05:36:59 +0000]
E[attr~="foo"]
Arthur Axel 'fREW' Schmidt [Sun, 11 Apr 2010 07:54:34 +0000]
E[attr="foo"]
Arthur Axel 'fREW' Schmidt [Sun, 11 Apr 2010 07:38:27 +0000]
E#id
Arthur Axel 'fREW' Schmidt [Thu, 27 May 2010 15:27:13 +0000]
E.class
Matt S Trout [Wed, 26 May 2010 19:51:55 +0000]
make comments and doctypes get passed through
Matt S Trout [Wed, 26 May 2010 19:51:45 +0000]
revert code stream change - caused an infinite loop
Matt S Trout [Mon, 24 May 2010 20:22:57 +0000]
fix as_stream typo to to_stream
Oliver Charles [Wed, 24 Mar 2010 23:38:51 +0000]
Failing test for doctypes.
Failing test by purge, I have reverted the changes to synopsis.t
though.
Simon Elliott [Wed, 24 Mar 2010 20:17:33 +0000]
doctype test
Oliver Charles [Sun, 21 Mar 2010 18:18:55 +0000]
Added failing tests
Matt S Trout [Wed, 17 Mar 2010 21:34:00 +0000]
first cut at docs for Zoom.pm
markie [Mon, 22 Feb 2010 04:36:56 +0000]
Template::Tiny support for text filtering
Matt S Trout [Sat, 20 Feb 2010 22:34:05 +0000]
refactor slightly and clean up selector code a bit
Matt S Trout [Fri, 19 Feb 2010 21:47:13 +0000]
few extra utility routines
Matt S Trout [Thu, 18 Feb 2010 05:34:53 +0000]
add stub synopsis.t to fail if you forgot to extract the real one
Matt S Trout [Thu, 18 Feb 2010 05:33:54 +0000]
introduce ZConfig system, first cut at HTML::Zoom itself
Matt S Trout [Thu, 18 Feb 2010 03:25:07 +0000]
add repeat_between option to repeat filter
Matt S Trout [Thu, 18 Feb 2010 01:51:33 +0000]
pre-filter for collect/repeat/replace
Matt S Trout [Thu, 18 Feb 2010 01:37:32 +0000]
switch from 'inside' to 'content' terminology wise
Matt S Trout [Thu, 18 Feb 2010 01:22:01 +0000]
add .gitignore file
Matt S Trout [Thu, 18 Feb 2010 01:19:13 +0000]
nuke debugging code
Matt S Trout [Thu, 18 Feb 2010 00:52:17 +0000]
first cut at repeater
Matt S Trout [Wed, 17 Feb 2010 22:30:55 +0000]
introduce superclass for streams
Matt S Trout [Wed, 17 Feb 2010 21:53:35 +0000]
move collector construction outside filter subs
Matt S Trout [Wed, 17 Feb 2010 21:43:43 +0000]
change collect to empty its into argument at the start of the collect process and comment why
Matt S Trout [Wed, 17 Feb 2010 21:37:52 +0000]
switch replace to collect then emit, document that it isn't strictly required to do it that way
Matt S Trout [Wed, 17 Feb 2010 21:32:53 +0000]
move collect method to a more sensible place in FilterBuilder
Matt S Trout [Sat, 6 Feb 2010 21:01:38 +0000]
test append_inside
Matt S Trout [Sat, 6 Feb 2010 20:23:44 +0000]
test replace inside
Matt S Trout [Sat, 6 Feb 2010 19:39:46 +0000]
add peek method to streams, implement 'inside' for collect
Matt S Trout [Sat, 6 Feb 2010 18:39:27 +0000]
test attribute manglers
Matt S Trout [Fri, 5 Feb 2010 21:09:54 +0000]
test collect in isolation
Matt S Trout [Fri, 5 Feb 2010 21:01:57 +0000]
move into arg into options too
Matt S Trout [Fri, 5 Feb 2010 21:00:57 +0000]
make collect API take a hashref for options
Matt S Trout [Wed, 3 Feb 2010 21:40:45 +0000]
let collect handle the in_place_close logic for add_after and replace
Matt S Trout [Wed, 3 Feb 2010 21:17:51 +0000]
basic stuff working