1 |
package Frey::HTML::Diff; |
2 |
use Moose::Role; |
3 |
|
4 |
sub html_diff { |
5 |
my ($self,$diff) = @_; |
6 |
|
7 |
$diff = $self->html_escape( $diff ); |
8 |
$self->add_css( qq| |
9 |
pre span.add, |
10 |
pre span.del { |
11 |
float: left; |
12 |
width: 100%; |
13 |
} |
14 |
pre span.add { background: #dfd } |
15 |
pre span.del { background: #fdd } |
16 |
pre form.inline { display: inline } |
17 |
| ); |
18 |
$diff =~ s{^(\+.*?)$}{<span class="add">$1</span>}gm; |
19 |
$diff =~ s{^(\-.*?)$}{<span class="del">$1</span>}gm; |
20 |
|
21 |
$diff = qq|<pre>$diff</pre>| if $diff; |
22 |
|
23 |
return $diff; |
24 |
} |
25 |
|
26 |
1; |