webcrush
v0.1.1
Published
utility to minify, obfuscate, and compress HTML
Downloads
4
Readme
Webcrush
Webcrush is a simple utility for minifying and compressing HTML.
Crushing an HTML file discourages casual inspection of the code, which may be useful, for example, for posting an interactive puzzle or a student problem-set project without broadcasting spoilers in cleartext in the HTML.
Usage
Webcrush can be used at this page. The webpage provides two options:
- LZ compression is optional, on by default. Unchecking this can result in smaller files when LZ overhead dominates.
- Absolute-url scripts (such as CDN scripts) can be pulled out of the LZ compressed code, on by default. Chrome warns about performance penalties when CDN scripts are generated by document.write, this avoids that warning.
There is also a nodejs API and a nodejs command-line interface that provide more options which can be read about in the source.
Caveats
Note that crushing is not good for hiding serious secrets in HTML, because it is not difficult to decompress and reveal the code. Also, crushing can grow short documents, because the code is expressed in base64 (which grows 25%) and LZ decompression code must be packaged in the document (which adds 483 bytes). It is better to rely on HTTP gzip encoding for saving bandwidth.
Credits
Compression is by Sam Hocevar's lz-string. Minification is by Juriy Zaytsev's HTML minifier, which in turn relies on the awesome UglifyJS by Mihai Bazon and CleanCss by Jakub Pawlowicz.