sub import {
hook(type => "getsetup", id => "flattr", call => \&getsetup);
hook(type => "preprocess", id => "flattr", call => \&preprocess);
- hook(type => "sanitize", id => "flattr", call => \&sanitize, last => 1);
+ hook(type => "format", id => "flattr", call => \&format);
}
sub getsetup () {
'</a>';
}
-sub sanitize (@) {
+sub format (@) {
my %params=@_;
# Add flattr's javascript to pages with flattr buttons.
if ($flattr_pages{$params{page}}) {
- return flattrjs().$params{content};
- }
- else {
- return $params{content};
+ if (! ($params{content}=~s!^(<body[^>]*>)!$1.flattrjs()!em)) {
+ # no <body> tag, probably in preview mode
+ $params{content}=flattrjs().$params{content};
+ }
}
+ return $params{content};
}
my $js_cached;