HtmlCompressor是一个Java类库,用来对HTML内容进行压缩。HtmlCompressor会删除HTML中无用的空格、空行、注释等内容。
该项目还提供了Maven插件,详情请看https://github.com/alextunyk/htmlcompressor-maven-plugin
示例代码:
HtmlCompressor compressor = new HtmlCompressor();compressor.setEnabled(true); //if false all compression is off (default is true)compressor.setRemoveComments(true); //if false keeps HTML comments (default is true)compressor.setRemoveMultiSpaces(true); //if false keeps multiple whitespace characters (default is true)compressor.setRemoveIntertagSpaces(true); //removes iter-tag whitespace characterscompressor.setRemoveQuotes(true); //removes unnecessary tag attribute quotescompressor.setSimpleDoctype(true); //simplify existing doctypecompressor.setRemoveScriptAttributes(true); //remove optional attributes from script tagscompressor.setRemoveStyleAttributes(true); //remove optional attributes from style tagscompressor.setRemoveLinkAttributes(true); //remove optional attributes from link tagscompressor.setRemoveFormAttributes(true); //remove optional attributes from form tagscompressor.setRemoveInputAttributes(true); //remove optional attributes from input tagscompressor.setSimpleBooleanAttributes(true); //remove values from boolean tag attributescompressor.setRemoveJavaScriptProtocol(true); //remove "javascript:" from inline event handlerscompressor.setRemoveHttpProtocol(true); //replace "https://" with "//" inside tag attributescompressor.setRemoveHttpsProtocol(true); //replace "https://" with "//" inside tag attributescompressor.setPreserveLineBreaks(true); //preserves original line breakscompressor.setRemoveSurroundingSpaces("br,p"); //remove spaces around provided tagscompressor.setCompressCss(true); //compress inline css compressor.setCompressJavaScript(true); //compress inline javascriptcompressor.setYuiCssLineBreak(80); //--line-break param for Yahoo YUI Compressor compressor.setYuiJsDisableOptimizations(true); //--disable-optimizations param for Yahoo YUI Compressor compressor.setYuiJsLineBreak(-1); //--line-break param for Yahoo YUI Compressor compressor.setYuiJsNoMunge(true); //--nomunge param for Yahoo YUI Compressor compressor.setYuiJsPreserveAllSemiColons(true);//--preserve-semi param for Yahoo YUI Compressor //use Google Closure Compiler for javascript compressioncompressor.setJavaScriptCompressor(new ClosureJavaScriptCompressor(CompilationLevel.SIMPLE_OPTIMIZATIONS));//use your own implementation of css comressorcompressor.setCssCompressor(new MyOwnCssCompressor());String compressedHtml = compressor.compress(html);
评论