From 92a43d5d384ba4e504c5255989a869ced424219c Mon Sep 17 00:00:00 2001
From: Joey Hess <joey@kodama.kitenet.net>
Date: Tue, 21 Oct 2008 17:09:57 -0400
Subject: [PATCH] change example to override a real function

---
 plugins/externaldemo | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/plugins/externaldemo b/plugins/externaldemo
index fa93e672d..4d13f2444 100755
--- a/plugins/externaldemo
+++ b/plugins/externaldemo
@@ -101,16 +101,16 @@ sub import {
 	# stage of ikiwiki.
 	rpc_call("hook", type => "preprocess", id => "externaldemo", call => "preprocess");
 
-	# Here's an example of how to inject an arbitrary function into
-	# ikiwiki. Ikiwiki will be able to call bob() just like any other
-	# function. Note use of automatic memoization.
-	rpc_call("inject", name => "IkiWiki::bob", call => "bob",
-		memoize => 1);
-
 	# Here's an exmaple of how to access values in %IkiWiki::config.
 	print STDERR "url is set to: ".
 		rpc_call("getvar", "config", "url")."\n";
 
+	# Here's an example of how to inject an arbitrary function into
+	# ikiwiki, replacing a core function.
+	# Note use of automatic memoization.
+	rpc_call("inject", name => "IkiWiki::formattime",
+		call => "formattime", memoize => 1);
+
 	print STDERR "externaldemo plugin successfully imported\n";
 }
 
@@ -126,8 +126,9 @@ sub preprocess {
 	return "externaldemo plugin preprocessing on $title!";
 }
 
-sub bob {
-	print STDERR "externaldemo plugin's bob called via RPC";
+sub formattime {
+	print STDERR "externaldemo plugin's formattime called via RPC";
+	return scalar "formatted time: ".localtime(shift);
 }
 
 # Now all that's left to do is loop and handle each incoming RPC request.
-- 
2.39.5