sub htmlize ($$$) { #{{{
my $page = shift;
my $destpage = shift;
- my $text = shift;
- $text=IkiWiki::htmlize($page, pagetype($pagesources{$page}),
+ return IkiWiki::htmlize($page, pagetype($pagesources{$page}),
IkiWiki::linkify($page, $destpage,
- IkiWiki::preprocess($page, $destpage, $text)));
-
- # hack to get rid of enclosing junk added by markdown
- $text=~s!^<p>!!;
- $text=~s!</p>$!!;
- chomp $text;
-
- return $text;
+ IkiWiki::preprocess($page, $destpage, shift)));
}
sub preprocess (@) { #{{{
if ($key eq 'title') {
$title{$page}=HTML::Entities::encode_numeric($value);
}
- elsif ($key eq 'date') {
- eval q{use Date::Parse};
- if (! $@) {
- my $time = str2time($value);
- $IkiWiki::pagectime{$page}=$time if defined $time;
- }
- }
elsif ($key eq 'license') {
push @{$meta{$page}}, '<link rel="license" href="#page_license" />';
$license{$page}=$value;
}
# Metadata collection that happens only during preprocessing pass.
- if ($key eq 'permalink') {
+ if ($key eq 'date') {
+ eval q{use Date::Parse};
+ if (! $@) {
+ my $time = str2time($value);
+ $IkiWiki::pagectime{$page}=$time if defined $time;
+ }
+ }
+ elsif ($key eq 'permalink') {
$permalink{$page}=$value;
push @{$meta{$page}}, scrub('<link rel="bookmark" href="'.encode_entities($value).'" />');
}
}
elsif ($key eq 'link') {
if (%params) {
- $meta{$page}.=scrub("<link href=\"".encode_entities($value)."\" ".
+ push @{$meta{$page}}, scrub("<link href=\"".encode_entities($value)."\" ".
join(" ", map {
encode_entities($_)."=\"".encode_entities(decode_entities($params{$_}))."\""
} keys %params).