diff options
author | www-data <www-data@0fa5a96a-9a0e-0410-b3b2-a0fd24251071> | 2006-07-29 20:39:34 +0000 |
---|---|---|
committer | www-data <www-data@0fa5a96a-9a0e-0410-b3b2-a0fd24251071> | 2006-07-29 20:39:34 +0000 |
commit | aa8bf534d938a65d0fd3db813c52c05ed28099f8 (patch) | |
tree | d04c43e6e9d06848b24b87eaeabb649e48d2321f /doc/patchqueue/html_tidy_plugin.mdwn | |
parent | 5de2cff378495030a68398b42f5514951d1adeab (diff) |
web commit by FaidonLiambotis: Add HTML Tidy plugin to patchqueue
Diffstat (limited to 'doc/patchqueue/html_tidy_plugin.mdwn')
-rw-r--r-- | doc/patchqueue/html_tidy_plugin.mdwn | 38 |
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 |