From: www-data <www-data@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>
Date: Sat, 29 Jul 2006 20:39:34 +0000 (+0000)
Subject: web commit by FaidonLiambotis: Add HTML Tidy plugin to patchqueue
X-Git-Tag: 1.12~11
X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/commitdiff_plain/aa8bf534d938a65d0fd3db813c52c05ed28099f8?ds=inline

web commit by FaidonLiambotis: Add HTML Tidy plugin to patchqueue
---

diff --git a/doc/patchqueue/html_tidy_plugin.mdwn b/doc/patchqueue/html_tidy_plugin.mdwn
new file mode 100644
index 000000000..a8b9f2728
--- /dev/null
+++ b/doc/patchqueue/html_tidy_plugin.mdwn
@@ -0,0 +1,38 @@
+Obvious and straightforward ;-)
+tidy should be probably added to Suggests -- doc/ikiwiki.setup should also be updated.  
+(yes, I'm too lazy today...)
+
+-- [[Faidon]]
+
+---
+
+	#!/usr/bin/perl
+	# HTML Tidy plugin
+	# requires 'tidy' binary, found in Debian or http://tidy.sf.net/
+	# mostly a proof-of-concept on how to use external filters.
+	# It is particularly useful when the html plugin is used.
+	package IkiWiki::Plugin::tidy;
+	
+	use warnings;
+	use strict;
+	use IkiWiki;
+	use IPC::Open2;
+	
+	sub import { #{{{
+		IkiWiki::hook(type => "sanitize", id => "tidy", call => \&sanitize);
+	} # }}}
+	
+	sub sanitize ($) { #{{{
+		open2(*IN, *OUT, 'tidy -quiet -xml -indent -utf8') or return shift;
+		# open2 doesn't respect "use open ':utf8'"
+		binmode (IN, ':utf8'); 
+		binmode (OUT, ':utf8'); 
+	
+		print OUT shift;
+		close OUT;
+	
+		local $/ = undef;
+		return <IN>;
+	} # }}}
+	
+	1
\ No newline at end of file