html-minifier中文文档
HTMLMinifier是一个高度可配置的、经过良好测试的、基于javascript的HTML缩小器。参见相应的博客文章,了解它的工作原理、每个选项的描述、测试结果和结论。在线测试套件。还可以看到相应的Ruby包装器和节点。js, Grunt插件,Gulp模块,Koa中间件包装和Express中间件包装。对于类似lint的功能,请查看HTMLLint。
与其他解决方案相比,HTMLMinifier是如何与其他的解决方案相比较的呢? HTMLMinifier(第一个结果是在谷歌搜索“HTMLMinifier”)和htmlcompressor.com和最小化?
| Site | Original size (KB) | HTMLMinifier | minimize | Will Peavy | htmlcompressor.com |
|---|---|---|---|---|---|
| 46 | 43 | 46 | 48 | 46 | |
| HTMLMinifier | 133 | 104 | 112 | 116 | 111 |
| New York Times | 214 | 145 | 163 | 162 | 152 |
| BBC | 237 | 194 | 229 | 235 | 222 |
| Stack Overflow | 248 | 195 | 204 | 212 | 201 |
| Bootstrap CSS | 272 | 260 | 269 | 229 | 269 |
| 348 | 260 | 313 | 345 | 313 | |
| Amazon | 405 | 349 | 390 | 403 | n/a |
| Wikipedia | 471 | 440 | 456 | 471 | 455 |
| NBC | 646 | 613 | 642 | 646 | n/a |
| Eloquent Javascript | 870 | 815 | 840 | 864 | n/a |
| ES6 table | 4580 | 3898 | 4333 | n/a | n/a |
| ES6 draft | 5720 | 5103 | 5253 | n/a | n/a |
大多数选项在默认情况下是禁用的,压缩【参数】
| Option | Description | Default |
|---|---|---|
caseSensitive |
以区分大小写的方式处理属性(适用于定制的HTML标记) | false |
collapseBooleanAttributes |
从布尔属性中省略属性值。 | false |
collapseInlineTagWhitespace |
Don't leave any spaces between display:inline;elements when collapsing. Must be used in conjunction with collapseWhitespace=true |
false |
collapseWhitespace |
在显示之间不要留下任何空格:内联;崩溃时的元素。必须与折叠空间结合使用=true ? | false |
conservativeCollapse |
总是折叠到1个空间(永远不要完全删除它)。必须与折叠空间结合使用=true ? | false |
customAttrAssign |
允许支持自定义属性分配表达式的正则表达式数组。 (e.g. '<div flex?="{{mode != cover}}"></div>') |
[ ] |
customAttrCollapse |
Regex指定自定义属性以从(例如/ng-class/)删除新行。 | |
customAttrSurround |
允许支持自定义属性包围表达式的正则表达式数组(e.g. <input {{#if value}}checked="checked"{{/if}}>) |
[ ] |
customEventAttributes |
允许为minifyJS支持自定义事件属性的正则表达式数组(例如,ng-click) | [ /^on[a-z]{3,}$/ ] |
decodeEntities |
尽可能使用直接的Unicode字符。 | false |
html5 |
根据HTML5规范分析输入。 | true |
ignoreCustomComments |
当匹配时,允许忽略某些注释的正则表达式数组。 | [ /^!/ ] |
ignoreCustomFragments |
当匹配时,允许忽略某些片段的正则表达式数组(例如<?php……吗?>,{ {…} },等等)。 | [ /<%[\s\S]*?%>/, /<\?[\s\S]*?\?>/ ] |
includeAutoGeneratedTags |
插入由HTML解析器生成的标记。 | true |
keepClosingSlash |
保留单例元素的末尾斜杠。 | false |
maxLineLength |
指定最大行长度。压缩的输出将在有效的HTML分割点上被换行。 | |
minifyCSS |
缩小CSS样式元素和样式属性(usesclean-css) | false (could betrue, Object,Function(text)) |
minifyJS |
在脚本元素和事件属性中缩小JavaScript(使用UglifyJS) | false (could betrue, Object,Function(text, inline)) |
minifyURLs |
在各种属性中缩小url(使用relateurl) | false (could beString, Object,Function(text)) |
preserveLineBreaks |
当标记之间的空格包括换行符时,总是崩溃到1行中断(永远不要完全删除)。必须与折叠空间结合使用=true ? | false |
preventAttributesEscaping |
防止属性值的溢出。 | false |
processConditionalComments |
通过minifier处理条件评论的内容。 | false |
processScripts |
通过minifier(例如text/ng-template、text/x-handlebars-template等)来处理脚本元素类型的字符串数组。 | [ ] |
quoteCharacter |
用于属性值的引用类型('or') | |
removeAttributeQuotes |
在可能的情况下删除引号。 | false |
removeComments |
带HTML注释 | false |
removeEmptyAttributes |
删除所有的属性,只有whitespace-only的值。 | false (could betrue,Function(attrName, tag)) |
removeEmptyElements |
删除所有含有空内容的元素。 | false |
removeOptionalTags |
删除可选的标记 | false |
removeRedundantAttributes |
当值匹配默认值时删除属性。 | false |
removeScriptTypeAttributes |
从脚本标签中删除type="text/javascript"。其他类型的属性值是完整的。 | false |
removeStyleLinkTypeAttributes |
从style和link标签中删除type="text/css"。其他类型的属性值是完整的。 | false |
removeTagWhitespace |
尽可能在属性之间移除空间。注意,这将导致无效的HTML! | false |
sortAttributes |
根据频率属性进行排序 | false |
sortClassName |
按频率分类样式类。 | false |
trimCustomFragments |
在ignoreCustomFragments周围调整空白区域。 | false |
useShortDoctype |
用short (HTML5) doctype替换doctype。 | false |
排序属性/样式类
像sortAttributes和sortClassName这样的缩小器选项不会影响输出的纯文本大小。但是,它们形成了长时间重复的字符链,可以提高HTTP压缩中使用的gzip压缩率。
英文文档链接:https://github.com/kangax/html-minifier#user-content-options-quick-reference
html-minifier中文文档的更多相关文章
- Phoenix综述(史上最全Phoenix中文文档)
个人主页:http://www.linbingdong.com 简书地址:http://www.jianshu.com/users/6cb45a00b49c/latest_articles 网上关于P ...
- Chart.js中文文档-雷达图
雷达图或蛛网图(Radar chart) 简介 A radar chart is a way of showing multiple data points and the variation bet ...
- Knockout中文开发指南(完整版API中文文档) 目录索引
a, .tree li > span { padding: 4pt; border-radius: 4px; } .tree li a { color:#46cfb0; text-decorat ...
- ReactNative官方中文文档0.21
整理了一份ReactNative0.21中文文档,提供给需要的reactnative爱好者.ReactNative0.21中文文档.chm 百度盘下载:ReactNative0.21中文文档 来源: ...
- java中文文档官方下载
一直在寻找它,今天无意之间终于发现它了! http://download.oracle.com/technetwork/java/javase/6/docs/zh/api/overview-summa ...
- Spring中文文档
前一段时间翻译了Jetty的一部分文档,感觉对阅读英文没有大的提高(*^-^*),毕竟Jetty的受众面还是比较小的,而且翻译过程中发现Jetty的文档写的不是很好,所以呢翻译的兴趣慢慢就不大了,只能 ...
- jQuery 3.1 API中文文档
jQuery 3.1 API中文文档 一.核心 1.1 核心函数 jQuery([selector,[context]]) 接收一个包含 CSS 选择器的字符串,然后用这个字符串去匹配一组元素. jQ ...
- jQuery EasyUI API 中文文档 - ComboGrid 组合表格
jQuery EasyUI API 中文文档 - ComboGrid 组合表格,需要的朋友可以参考下. 扩展自 $.fn.combo.defaults 和 $.fn.datagrid.defaults ...
- jQuery EasyUI API 中文文档 - ValidateBox验证框
jQuery EasyUI API 中文文档 - ValidateBox验证框,使用jQuery EasyUI的朋友可以参考下. 用 $.fn.validatebox.defaults 重写了 d ...
- Weex中文文档
这里整理当前已译出的Weex中文文档,如需查阅完整Weex文档,请访问http://alibaba.github.io/weex/doc/ . 同时也欢迎大家参与Weex中文文档翻译 [Guide] ...
随机推荐
- JavaWeb——tomcat manager 403 Access Denied .You are not authorized to view this page.
403 Access Denied You are not authorized to view this page. If you have already configured the Manag ...
- Python中字符串/字典/json之间的转换
import json #定义一个字典d1,字典是无序的 d1 = { "a": None, "b": False, "c": True, ...
- 发布者订阅者模式之JAVA实现
1.发布者接口 package com.shoshana.publishsubscribe; public interface IPublisher<M> { public voi ...
- [UGUI]圆形Image
参考链接: http://www.cnblogs.com/leoin2012/p/6425089.html 前面说过Mask组件会影响性能:https://www.cnblogs.com/lyh916 ...
- e.getMessage 为空NULL
在日常代码中免不了要try catch 切忌用try catch 去try 整个方法. 在对象操作之前尽量写上if 空判断. 反例: public void send(){ try{ 代码1:获取对象 ...
- java利用泛型实现不同类型可变参数
public class VP { public <T> void printMsg(T... args){ for (T t:args){ System.out.println(&quo ...
- java Integer类以及拆箱和装箱
package com.ilaw.boson.controller; public class Demo { public static void main(String[] args) { Inte ...
- 解决bootstrap和easyUI部分css类冲突问题。
今天发现bootstrap和easyui的css类重复用了一个很笨的办法解决了,这种小事网上都不好搜啊. 我先引用的bootstrap后引用的easy UI,bootstrap的会被覆盖,boot的样 ...
- html css col-md-offset
有的时候,我们不想让两个相邻的列挨在一起,这时候利用栅格系统的列偏移(offset)功能来实现,而不必再定义margin值.使用.col-md-offset-*形式的样式就可以将列偏移到右侧.例如,. ...
- 【ESP8266】、ESP8266通讯使用的AT指令
一.AT指令介绍 AT(Attention), AT指令一般应用于终端设备和PC应用之间建立连接.通过AT指令来控制. 二.常用AT指令 AT指令主要分为: 基础AT指令,WIFI功能AT指令,TCP ...