use strict;
use IkiWiki 2.00;
-sub import { #{{{
+sub import {
+ hook(type => "getsetup", id => "googlecalendar",
+ call => \&getsetup);
hook(type => "preprocess", id => "googlecalendar",
call => \&preprocess);
hook(type => "format", id => "googlecalendar",
call => \&format);
-} # }}}
+}
-sub preprocess (@) { #{{{
+sub getsetup () {
+ return
+ plugin => {
+ safe => 1,
+ rebuild => undef,
+ },
+}
+
+sub preprocess (@) {
my %params=@_;
# Parse the html, looking for the url to embed for the calendar.
my ($width)=$params{html}=~m#width="(\d+)"#;
return "<div class=\"googlecalendar\" src=\"$url\" height=\"$height\" width=\"$width\"></div>";
-} # }}}
+}
-sub format (@) { #{{{
+sub format (@) {
my %params=@_;
$params{content}=~s/<div class=\"googlecalendar" src="([^"]+)" height="([^"]+)" width="([^"]+)"><\/div>/gencal($1,$2,$3)/eg;
return $params{content};
-} # }}}
+}
-sub gencal ($$$) { #{{{
+sub gencal ($$$) {
my $url=shift;
my $height=shift;
my $width=shift;
return qq{<iframe src="http://www.google.com/calendar/embed?$url" style=" border-width:0 " width="$width" frameborder="0" height="$height"></iframe>};
-} #}}}
+}
1