X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/27d029113faf479464db289a71b98cbf5e672793..d7cd669470a5c8a920032baac6665bfc8eb4bd5b:/IkiWiki/Plugin/embed.pm diff --git a/IkiWiki/Plugin/embed.pm b/IkiWiki/Plugin/embed.pm index 4fc91d978..a7d38358f 100644 --- a/IkiWiki/Plugin/embed.pm +++ b/IkiWiki/Plugin/embed.pm @@ -3,7 +3,7 @@ package IkiWiki::Plugin::embed; use warnings; use strict; -use IkiWiki 2.00; +use IkiWiki 3.00; my $attribr=qr/[^<>"]+/; @@ -43,26 +43,35 @@ my $safehtml=qr{( my @embedded; -sub import { #{{{ +sub import { + hook(type => "getsetup", id => "embed", call => \&getsetup); hook(type => "filter", id => "embed", call => \&filter); -} # }}} +} -sub embed ($) { #{{{ +sub getsetup () { + return + plugin => { + safe => 1, + rebuild => undef, + }, +} + +sub embed ($) { hook(type => "format", id => "embed", call => \&format) unless @embedded; push @embedded, shift; return "
"; -} #}}} +} -sub filter (@) { #{{{ +sub filter (@) { my %params=@_; $params{content} =~ s/$safehtml/embed($1)/eg; return $params{content}; -} # }}} +} -sub format (@) { #{{{ +sub format (@) { my %params=@_; $params{content} =~ s/
<\/div>/$embedded[$1]/eg; return $params{content}; -} # }}} +} 1