aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/smiley.pm
diff options
context:
space:
mode:
Diffstat (limited to 'IkiWiki/Plugin/smiley.pm')
-rw-r--r--IkiWiki/Plugin/smiley.pm24
1 files changed, 12 insertions, 12 deletions
diff --git a/IkiWiki/Plugin/smiley.pm b/IkiWiki/Plugin/smiley.pm
index 2633b1ea1..0d77916d0 100644
--- a/IkiWiki/Plugin/smiley.pm
+++ b/IkiWiki/Plugin/smiley.pm
@@ -3,18 +3,18 @@ package IkiWiki::Plugin::smiley;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
my %smileys;
my $smiley_regexp;
-sub import { #{{{
+sub import {
add_underlay("smiley");
hook(type => "getsetup", id => "smiley", call => \&getsetup);
hook(type => "sanitize", id => "smiley", call => \&sanitize);
-} # }}}
+}
-sub getsetup () { #{{{
+sub getsetup () {
return
plugin => {
safe => 1,
@@ -22,9 +22,9 @@ sub getsetup () { #{{{
# removes the smileys, which would break links
rebuild => 1,
},
-} #}}}
+}
-sub build_regexp () { #{{{
+sub build_regexp () {
my $list=readfile(srcfile("smileys.mdwn"));
while ($list =~ m/^\s*\*\s+\\\\([^\s]+)\s+\[\[([^]]+)\]\]/mg) {
my $smiley=$1;
@@ -50,9 +50,9 @@ sub build_regexp () { #{{{
$smiley_regexp='('.join('|', map { quotemeta }
reverse sort keys %smileys).')';
#debug($smiley_regexp);
-} #}}}
+}
-sub sanitize (@) { #{{{
+sub sanitize (@) {
my %params=@_;
build_regexp() unless defined $smiley_regexp;
@@ -87,14 +87,14 @@ MATCH: while (m{(?:^|(?<=\s|>))(\\?)$smiley_regexp(?:(?=\s|<)|$)}g) {
}
else {
# Replace the smiley with its expanded value.
- substr($_, $spos, length($smiley))=
- htmllink($params{page}, $params{destpage},
+ my $link=htmllink($params{page}, $params{destpage},
$smileys{$smiley}, linktext => $smiley);
- pos=$epos+1;
+ substr($_, $spos, length($smiley))=$link;
+ pos=$epos+length($link);
}
}
return $_;
-} # }}}
+}
1