diff options
Diffstat (limited to 'IkiWiki')
-rw-r--r-- | IkiWiki/Plugin/meta.pm | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/IkiWiki/Plugin/meta.pm b/IkiWiki/Plugin/meta.pm index 938a28e59..cfa4b84b1 100644 --- a/IkiWiki/Plugin/meta.pm +++ b/IkiWiki/Plugin/meta.pm @@ -47,6 +47,7 @@ sub preprocess (@) { #{{{ delete $params{$key}; my $page=$params{page}; delete $params{page}; + my $destpage=$params{destpage}; delete $params{destpage}; delete $params{preview}; @@ -110,6 +111,25 @@ sub preprocess (@) { #{{{ $meta{$page}.="<link rel=\"copyright\" href=\"#page_copyright\" />\n"; $copyright{$page}=$value; } + elsif ($key eq 'forward') { + my $delay=0; + my $dest_url; + my $text; + if (exists $params{delay}) { + $delay=$params{delay}; + } + # Is this a wikilink? + if ($value =~ /^\[\[(.*)\]\]$/) { + $text=htmllink($page, $destpage, $1); + $dest_url=urlto(bestlink($page, $1), $destpage); + } else { + $text="<a href=\"$dest_url\">$dest_url</a>"; + $dest_url=$value; + } +# TODO. $meta{$page}.=scrub("<meta http-equiv=\"refresh\" content=\"$delay; URL=$dest_url\">"); + $meta{$page}.="<meta http-equiv=\"refresh\" content=\"$delay; URL=$dest_url\">"; + return "You are being forwarded to $text."; + } else { $meta{$page}.=scrub("<meta name=\"".encode_entities($key). "\" content=\"".encode_entities($value)."\" />\n"); |