From 655d7925c60ecd7dd5dc3b35887f7a2573029796 Mon Sep 17 00:00:00 2001
From: Thomas Schwinge <tschwinge@gnu.org>
Date: Sat, 8 Dec 2007 14:37:41 -0500
Subject: [PATCH] Here is a patch to add a forwarding functionality to the meta
 plugin

---
 IkiWiki/Plugin/meta.pm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

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");
-- 
2.39.5