Photos
Blog
Projects
vanrenterghem.biz
projects
/
git.ikiwiki.info.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Check for existence off srcfile in add_autofile
[git.ikiwiki.info.git]
/
IkiWiki
/
Plugin
/
meta.pm
diff --git
a/IkiWiki/Plugin/meta.pm
b/IkiWiki/Plugin/meta.pm
index eef3013a0caf7a1f9008772b7c5ef46ee27ce20b..55c9ddbd1482f8d47007c4e1b66cf2ea6d2f2332 100644
(file)
--- 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);
# 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);
}
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
}
$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 (! $@) {
elsif ($key eq 'date') {
eval q{use Date::Parse};
if (! $@) {
@@
-141,10
+145,9
@@
sub preprocess (@) {
return;
}
return;
}
- # Metadata
collection
that happens only during preprocessing pass.
+ # Metadata
handling
that happens only during preprocessing pass.
if ($key eq 'permalink') {
if (safeurl($value)) {
if ($key eq 'permalink') {
if (safeurl($value)) {
- $pagestate{$page}{meta}{permalink}=$value;
push @{$metaheaders{$page}}, scrub('<link rel="bookmark" href="'.encode_entities($value).'" />', $destpage);
}
}
push @{$metaheaders{$page}}, scrub('<link rel="bookmark" href="'.encode_entities($value).'" />', $destpage);
}
}
@@
-195,7
+198,7
@@
sub preprocess (@) {
if (! length $link) {
error gettext("redir page not found")
}
if (! length $link) {
error gettext("redir page not found")
}
- add_depends($page, $link,
content => 0
);
+ add_depends($page, $link,
deptype("presence")
);
$value=urlto($link, $page);
$value.='#'.$redir_anchor if defined $redir_anchor;
$value=urlto($link, $page);
$value.='#'.$redir_anchor if defined $redir_anchor;
@@
-236,6
+239,10
@@
sub preprocess (@) {
push @{$metaheaders{$page}}, '<meta name="robots"'.
' content="'.encode_entities($value).'" />';
}
push @{$metaheaders{$page}}, '<meta name="robots"'.
' content="'.encode_entities($value).'" />';
}
+ elsif ($key eq 'description') {
+ push @{$metaheaders{$page}}, '<meta name="'.encode_entities($key).
+ '" content="'.encode_entities($value).'" />';
+ }
else {
push @{$metaheaders{$page}}, scrub('<meta name="'.encode_entities($key).
'" content="'.encode_entities($value).'" />', $destpage);
else {
push @{$metaheaders{$page}}, scrub('<meta name="'.encode_entities($key).
'" content="'.encode_entities($value).'" />', $destpage);
@@
-260,7
+267,7
@@
sub pagetemplate (@) {
$template->param(title_overridden => 1);
}
$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);
}
$template->param($field => $pagestate{$page}{meta}{$field})
if exists $pagestate{$page}{meta}{$field} && $template->query(name => $field);
}
@@
-291,21
+298,21
@@
sub match {
if (defined $val) {
if ($val=~/^$re$/i) {
if (defined $val) {
if ($val=~/^$re$/i) {
- return IkiWiki::SuccessReason->new("$re matches $field of $page");
+ return IkiWiki::SuccessReason->new("$re matches $field of $page"
, $page => $IkiWiki::DEPEND_CONTENT, "" => 1
);
}
else {
}
else {
- return IkiWiki::FailReason->new("$re does not match $field of $page");
+ return IkiWiki::FailReason->new("$re does not match $field of $page"
, "" => 1
);
}
}
else {
}
}
else {
- return IkiWiki::FailReason->new("$page does not have a $field");
+ return IkiWiki::FailReason->new("$page does not have a $field"
, "" => 1
);
}
}
package IkiWiki::PageSpec;
sub match_title ($$;@) {
}
}
package IkiWiki::PageSpec;
sub match_title ($$;@) {
- IkiWiki::Plugin::meta::match("title", @_);
+ IkiWiki::Plugin::meta::match("title", @_);
}
sub match_author ($$;@) {
}
sub match_author ($$;@) {