X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/a7cb3090902e23e2b0f2371539ade7ec5a4ba01b..f3abeac919c4736429bd3362af6edf51ede8e7fe:/IkiWiki/Plugin/meta.pm
diff --git a/IkiWiki/Plugin/meta.pm b/IkiWiki/Plugin/meta.pm
index 8dcd73a1a..55c9ddbd1 100644
--- a/IkiWiki/Plugin/meta.pm
+++ b/IkiWiki/Plugin/meta.pm
@@ -88,7 +88,7 @@ sub preprocess (@) {
# Metadata collection that needs to happen during the scan pass.
if ($key eq 'title') {
$pagestate{$page}{meta}{title}=HTML::Entities::encode_numeric($value);
- # fallthrough
+ return "";
}
elsif ($key eq 'description') {
$pagestate{$page}{meta}{description}=HTML::Entities::encode_numeric($value);
@@ -121,6 +121,10 @@ sub preprocess (@) {
$pagestate{$page}{meta}{authorurl}=$value if safeurl($value);
# fallthrough
}
+ elsif ($key eq 'permalink') {
+ $pagestate{$page}{meta}{permalink}=$value if safeurl($value);
+ # fallthrough
+ }
elsif ($key eq 'date') {
eval q{use Date::Parse};
if (! $@) {
@@ -141,10 +145,9 @@ sub preprocess (@) {
return;
}
- # Metadata collection that happens only during preprocessing pass.
+ # Metadata handling that happens only during preprocessing pass.
if ($key eq 'permalink') {
if (safeurl($value)) {
- $pagestate{$page}{meta}{permalink}=$value;
push @{$metaheaders{$page}}, scrub('', $destpage);
}
}
@@ -236,6 +239,10 @@ sub preprocess (@) {
push @{$metaheaders{$page}}, '';
}
+ elsif ($key eq 'description') {
+ push @{$metaheaders{$page}}, '';
+ }
else {
push @{$metaheaders{$page}}, scrub('', $destpage);
@@ -260,7 +267,7 @@ sub pagetemplate (@) {
$template->param(title_overridden => 1);
}
- foreach my $field (qw{author authorurl permalink}) {
+ foreach my $field (qw{author authorurl description permalink}) {
$template->param($field => $pagestate{$page}{meta}{$field})
if exists $pagestate{$page}{meta}{$field} && $template->query(name => $field);
}