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 , but markup: 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]]
|