2 package CMS::Simple::Filter::Markup ;
11 email => \&make_email,
12 image => \&make_image,
13 image_link => \&make_image_link,
14 ilink => \&make_image_link,
15 nbsp => sub { ' ' },
17 em_dash => sub { '—' },
18 eacute => sub { 'é' },
19 copy => sub { '©' },
21 br => sub { '<br/>' },
27 my( $tag, $text ) = @_ ;
29 #print "TEXT $text\n" ;
31 return unless $text =~
32 s{(?<!\\)\[([a-z_]+)(?:\s+([^]]+)\s*)?\]}
33 {replace_markup(lc $1, $2)}gie
35 $text =~ s{\\\[}{[}g ;
42 my( $key, $text ) = @_ ;
44 #print "KEY $key [$text]\n" ;
46 $text = 'UNDEF' unless defined $text ;
48 my $code = $markup_to_code{ $key } ;
50 $code or die "unknown markup key '$key' text '$text'" ;
52 return $code->($text) ;
59 my( $url, $url_text ) = split /\|/, $text ;
63 return qq{<a href="$url">$url_text</a>} ;
70 ( my $url_text = $text ) =~ tr/ \t\n\r/+/s ;
73 qq{<a href="http://maps.google.com/maps?f=q&hl=en&q=$url_text">$text</a>} ;
80 my( $user, $domain ) = split /\@/, $text ;
84 document.write('<a href="mailto:$user' + '\@' +
85 '$domain">$user AT $domain</a>')
98 my( $url, $image_url ) = split /\|/, $text ;
100 return qq{<a href="$url"><img src="$image_url"></a>} ;
107 return qq{<img src="$text">} ;
114 return qq{<B>$text</B>} ;