use IkiWiki 3.00;
sub import {
+ hook(type => "checkconfig", id => "tag", call => \&checkconfig);
hook(type => "getopt", id => "tag", call => \&getopt);
hook(type => "getsetup", id => "tag", call => \&getsetup);
hook(type => "preprocess", id => "tag", call => \&preprocess_tag, scan => 1);
},
}
+sub checkconfig () {
+ if (! defined $config{tag_autocreate_commit}) {
+ $config{tag_autocreate_commit} = 1;
+ }
+}
+
sub taglink ($) {
my $tag=shift;
else {
$tagpage=~s/^\///;
}
+ if (exists $IkiWiki::pagecase{lc $tagpage}) {
+ $tagpage=$IkiWiki::pagecase{lc $tagpage}
+ }
my $tagfile = newpagefile($tagpage, $config{default_pageext});
my $dir = $config{srcdir};
if (! $config{tag_autocreate_commit}) {
+ no warnings 'once';
$dir = $IkiWiki::Plugin::transient::transientdir;
}
if ($template->query(name => "categories")) {
# It's an rss/atom template. Add any categories.
if (defined $tags && %$tags) {
- $template->param(categories => [map { category => tagname($_) },
- sort keys %$tags]);
+ eval q{use HTML::Entities};
+ $template->param(categories =>
+ [map { category => HTML::Entities::encode_entities_numeric(tagname($_)) },
+ sort keys %$tags]);
}
}
}