The htmltidy plugin as in the Backports.org version 2.32.3~bpo40+1 of ikiwiki does not play well with other usages of HTML Tidy since it has no possibility to use an alternative config file.
E.g. since I usually use HTML Tidy manually only to check and not to fix HTML, I have "markup: no" in my $HOME/.tidyrc which throws an awful lot of Perl warnings and renders all ikiwiki pages empty as soon as I enable htmltidy.
I see two possibilities how to fix this:
-
Replace "$pid=open2(*IN, *OUT, 'tidy -quiet -asxhtml -utf8 --show-body-only yes - -show-warnings no --tidy-mark no');" by "$pid=open2(*IN, *OUT, 'tidy -quiet -asxhtml -utf8 --show-body-only yes - -show-warnings no --tidy-mark no --markup yes');" -- This is the fastest fix, but not very elegant, since it doesn't solve the general problem.
-
Make it configurable via ikiwiki.setup as e.g.with the tags plugin. Haven't looked into this code yet.
I don't understand why you're talking about setting --write-back. The htmltidy plugin communicates with tidy using stdio. No files are used, so write-back settings should be irrelevant. --[[Joey]]
Hmmm, ok. Well, it didn't work. Empty pages, Perl Warnings. I moved my $HOME/.tidyrc away and it worked again. Had a short look into it and the only obvious non-default setting I found was write-back. I'll check what exactly caused the breakage and let you know. --[[XTaran]]
Ok, found it. It indeed wasn't
write-back
, butmarkup: no
. (I usually only want to see warnings and errors, not the fixed markup.) I now've corrected this in the bug report above. --[[XTaran]]
Ok, so should I pass --markup yes, or should I force it not to use ~/.tidyrc? I can do that (by setting HOME to /dev/null), but there seems to be no way to override it reading /etc/tidy.conf, so options there can still screw things up. I guess I'll pass --markup yes and deal with overriding other problem settings from config files if they're found later. --[[Joey]] [[!tag done]]