summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwww-data <www-data@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2006-07-29 20:39:34 +0000
committerwww-data <www-data@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2006-07-29 20:39:34 +0000
commitaa8bf534d938a65d0fd3db813c52c05ed28099f8 (patch)
treed04c43e6e9d06848b24b87eaeabb649e48d2321f
parent5de2cff378495030a68398b42f5514951d1adeab (diff)
web commit by FaidonLiambotis: Add HTML Tidy plugin to patchqueue
-rw-r--r--doc/patchqueue/html_tidy_plugin.mdwn38
1 files changed, 38 insertions, 0 deletions
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