Changeset 419
- Timestamp:
- 11/20/07 23:20:31 (9 months ago)
- Files:
-
- library/perl/trunk/Text-Trac/Changes (modified) (1 diff)
- library/perl/trunk/Text-Trac/Makefile.PL (modified) (1 diff)
- library/perl/trunk/Text-Trac/lib/Text/Trac.pm (modified) (2 diffs)
- library/perl/trunk/Text-Trac/lib/Text/Trac/BlockNode.pm (modified) (1 diff)
- library/perl/trunk/Text-Trac/lib/Text/Trac/Heading.pm (modified) (1 diff)
- library/perl/trunk/Text-Trac/lib/Text/Trac/InlineNode.pm (modified) (2 diffs)
- library/perl/trunk/Text-Trac/lib/Text/Trac/Ol.pm (modified) (2 diffs)
- library/perl/trunk/Text-Trac/lib/Text/Trac/Pre.pm (modified) (1 diff)
- library/perl/trunk/Text-Trac/lib/Text/Trac/Table.pm (modified) (1 diff)
- library/perl/trunk/Text-Trac/lib/Text/Trac/Ul.pm (modified) (2 diffs)
- library/perl/trunk/Text-Trac/t/01-text-trac.t (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
library/perl/trunk/Text-Trac/Changes
r370 r419 1 1 Revision history for Text-Trac 2 2 3 0.08 Tue Nov 20 4 Apply a patch of https://rt.cpan.org/Ticket/Display.html?id=30816. 5 Thanks to Kazuyoshi KATO! 6 3 7 0.07 Sun Mar 25 4 8 Tiny fix for Ul.pm and Ol.pm library/perl/trunk/Text-Trac/Makefile.PL
r332 r419 10 10 requires('Tie::IxHash'); 11 11 requires('List::MoreUtils'); 12 requires('HTML::Entities'); 12 13 13 14 no_index( package => 'TestMacro' ); library/perl/trunk/Text-Trac/lib/Text/Trac.pm
r370 r419 6 6 use Text::Trac::BlockNode; 7 7 8 our $VERSION = '0.0 7';8 our $VERSION = '0.08'; 9 9 10 10 my %Defaults = ( … … 62 62 =head1 VERSION 63 63 64 Version 0.0 764 Version 0.08 65 65 66 66 =head1 SYNOPSIS library/perl/trunk/Text-Trac/lib/Text/Trac/BlockNode.pm
r332 r419 55 55 } 56 56 57 sub escape { 58 my ( $self, $l ) = @_; 59 return $self->inline_parser->escape($l); 60 } 61 57 62 sub replace { 58 63 my ( $self, $l ) = @_; library/perl/trunk/Text-Trac/lib/Text/Trac/Heading.pm
r332 r419 16 16 17 17 my $id = $self->_strip( $2 ); 18 $l = qq(<h$level id="$id"> $2</h$level>);18 $l = qq(<h$level id="$id">) . $self->replace($2) . qq(</h$level>); 19 19 20 $l = $self->replace($l);21 20 $c->htmllines($l); 22 21 } library/perl/trunk/Text-Trac/lib/Text/Trac/InlineNode.pm
r332 r419 6 6 use UNIVERSAL::require; 7 7 use Text::Trac::LinkResolver; 8 use HTML::Entities qw(); 8 9 9 10 tie my %token_table, 'Tie::IxHash'; … … 95 96 96 97 sub parse { 97 my ( $self, $l ) = @_; 98 $l =~ s/$self->{rules}/$self->_replace($&, $`, $')/xmseg; 99 return $l; 98 my ( $self, $rest ) = @_; 99 my $html = ''; 100 while ($rest =~ /$self->{rules}/xms) { 101 $html .= $self->escape($`) . $self->_replace($&, $`, $'); 102 $rest = $'; 103 } 104 return $html . $self->escape($rest); 105 } 106 107 sub escape { 108 my ( $self, $s ) = @_; 109 return HTML::Entities::encode($s, '<>&"'); 100 110 } 101 111 library/perl/trunk/Text-Trac/lib/Text/Trac/Ol.pm
r370 r419 53 53 $c->ol({level => $level, space => $space }); 54 54 55 $l =~ s{ $pattern }{<li>$3</li>}xmsg; 55 # parse inline nodes 56 $l =~ s{ $pattern }{'<li>' . $self->replace($3) . '</li>'}xmsge; 56 57 57 58 if ($c->hasnext and $c->nextline =~ $pattern){ … … 66 67 } 67 68 68 # parse inline nodes69 $l = $self->replace($l);70 69 $c->htmllines($l); 71 70 library/perl/trunk/Text-Trac/lib/Text/Trac/Pre.pm
r324 r419 28 28 } 29 29 else { 30 $c->htmllines($ l);30 $c->htmllines($self->escape($l)); 31 31 } 32 32 } library/perl/trunk/Text-Trac/lib/Text/Trac/Table.pm
r332 r419 22 22 my $l = $c->shiftline; 23 23 $l =~ s{ $self->{pattern} }{$1}xmsg; 24 $l = "<tr><td>" . join( "</td><td>", split(/\|\|/, $l) ) . "</td></tr>"; 24 $l = "<tr><td>" . join( "</td><td>", 25 map { 26 $self->replace($_) # parse inline nodes 27 } split(/\|\|/, $l) ) . "</td></tr>"; 25 28 26 # parse inline nodes27 $l = $self->replace($l);28 29 $c->htmllines($l); 29 30 } library/perl/trunk/Text-Trac/lib/Text/Trac/Ul.pm
r370 r419 34 34 $c->ul({ level => $level, space => $space }); 35 35 36 $l =~ s{ $pattern }{<li>$2</li>}xmsg; 36 # parse inline nodes 37 $l =~ s{ $pattern }{'<li>' . $self->replace($2) . '</li>'}xmsge; 37 38 38 39 if ($c->hasnext and $c->nextline =~ /$pattern/){ … … 48 49 49 50 # parse inline nodes 50 $l = $self->replace($l);51 51 $c->htmllines($l); 52 52 library/perl/trunk/Text-Trac/t/01-text-trac.t
r332 r419 338 338 [unknown:target label] 339 339 </p> 340 341 ### escape HTML meta-characters 342 --- input 343 foo <bar> baz. 344 foo '''bar''' baz. 345 346 * foo <bar> bar. 347 * foo '''bar''' baz. 348 349 1. foo <bar> bar. 350 1. foo '''bar''' baz. 351 352 ||foo||<bar>||'''baz'''|| 353 354 {{{ 355 foo <bar> baz. 356 foo '''bar''' baz. 357 }}} 358 --- expected 359 <p> 360 foo <bar> baz. 361 foo <strong>bar</strong> baz. 362 </p> 363 <ul><li>foo <bar> bar.</li> 364 <li>foo <strong>bar</strong> baz.</li></ul> 365 <ol start="1"><li>foo <bar> bar.</li> 366 <li>foo <strong>bar</strong> baz.</li></ol> 367 <table> 368 <tr><td>foo</td><td><bar></td><td><strong>baz</strong></td></tr> 369 </table> 370 <pre class="wiki"> 371 foo <bar> baz. 372 foo '''bar''' baz. 373 </pre>
