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 { ' ' },
16 em_dash => sub { '—' },
17 eacute => sub { 'é' },
18 copy => sub { '©' },
20 br => sub { '<br/>' },
26 my( $tag, $text ) = @_ ;
28 #print "TEXT $text\n" ;
30 return unless $text =~
31 s{(?<!\\)\[([a-z_]+)(?:\s+([^]]+)\s*)?\]}
32 {replace_markup(lc $1, $2)}gie
34 $text =~ s{\\\[}{[}g ;
41 my( $key, $text ) = @_ ;
43 #print "KEY $key [$text]\n" ;
45 my $code = $markup_to_code{ $key } ;
47 $code or die "unknown markup key '$key'" ;
49 return $code->($text) ;
56 my( $url, $url_text ) = split /\|/, $text ;
60 return qq{<A href="$url">$url_text</A>} ;
67 ( my $url_text = $text ) =~ tr/ \t\n\r/+/s ;
70 qq{<A href="http://maps.google.com/maps?f=q&hl=en&q=$url_text">$text</A>} ;
77 my( $user, $domain ) = split /\@/, $text ;
81 document.write('<a href="mailto:$user' + '\@' +
82 '$domain">$user AT $domain</a>')
95 my( $url, $image_url ) = split /\|/, $text ;
97 return qq{<A href="$url"><IMG src="$image_url"></A>} ;
104 return qq{<IMG src="$text">} ;