I’ll take a better look at the html minification library (third party) but what I can see is that whitespace is being replaced by linebreaks inside html tags… it could be that linebreaks have a smaller footprint than whitespace, but it makes the source a bit strange (but I care more for performance and size, not beauty of code).
If this behavior is something I can change without compromising speed, I’ll release it before Christmas on a new version.
As for js files and large css files, some browsers need frequent linebreaks for things to work smoothly. For example, if you use the Google Compiler for JS minification, this happens:
https://developers.google.com/closure/compiler/faq#linefeeds
The Closure Compiler intentionally adds line breaks every 500 characters or so. Firewalls and proxies sometimes corrupt or ignore large JavaScript files with very long lines. Adding line breaks every 500 characters prevents this problem. Removing the line breaks has no effect on a script’s semantics. The impact on code size is small, and the Compiler optimizes line break placement so that the code size penalty is even smaller when files are gzipped.
YUI Compressor usually makes it into a single line… but then it causes trouble with long files.
Browsers also have limits for css, most notabily IE. If you have too many css rules in one file it will break. https://stackoverflow.com/questions/9906794/internet-explorers-css-rules-limits
This means that we cannot simply minify all css or js into one single line.