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] ...
随机推荐
- 关于offsetParent
不知道有多少人知道JavaScript中有offsetParent这么个属性. 关于offsetParent,我最开始见到他,是在<JavaScript高级程序设计(第3版)>第321页, ...
- Zookeeper的一致性协议:Zab
Zookeeper使用了一种称为Zab(Zookeeper Atomic Broadcast)的协议作为其一致性复制的核心,据其作者说这是一种新发算法,其特点是充分考虑了Yahoo的具体情况: ...
- ORACLE日常操作手册
转发自:http://blog.csdn.net/lichangzai/article/details/7955766 以前为开发人员编写的oracle基础操作手册,都基本的oracle操作和SQL语 ...
- java——IO流01
移动文件有一种简单方法,不需要复制文件再删除文件. package com.unir.test01; import java.io.File; import java.io.IOException; ...
- python TKinter部分记录
http://blog.shouji-zhushou.com/python-gui-tkinter-grid%E7%BD%91%E6%A0%BC%E5%87%A0%E4%BD%95%E5%B8%83% ...
- django 过滤器,标签
过滤器: <p>{{ date|date:"Y-m-d" }}</p> {#2018-05-28,date是当前时间#} <p>{{ l|len ...
- ArcGIS自定义脚本-通过txt/excel/dbf/table生成多边形要素类
ArcGIS自定义脚本-通过txt/excel/dbf/table生成多边形要素类 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 目的:读取文本文件,常见多边形要素 ...
- MFC笔记4
1.添加图片 1)静态加载图片,直接在resourceView中控件设置就可以以实现 2)动态加载时,按照鸡啄米的教程http://www.jizhuomi.com/software/193.html ...
- JS实现数组去重方法总结(三种常用方法)
方法一: 双层循环,外层循环元素,内层循环时比较值 如果有相同的值则跳过,不相同则push进数组 Array.prototype.distinct = function(){ var arr = th ...
- Python自动化测试用例设计--自动化测试用例与手工测试用例区别与联系
1. 前言 手工测试用例是针对手工测试人员,自动化测试用例是针对自动化测试框架,前者是手工测试用例人员应用手工方式进行用例解析,后者是应用脚本技术进行用例解析,两者最大的各自特点在于,前者具有较好的异 ...