pyramid_html_minifier
项目描述
pyramid_html_minifier为Pylons/Pyramid应用程序引入了安全的html 缩小,由以下驱动:
Chameleon模板(基于ZPT的模板实现)。Chameleon 模板仍然是有效的XML,因此可以使用不太激进的缩小选项安全地缩小它们
使用 pyramid_html_minifier 你会得到什么
带宽和性能。节省宝贵的千字节(约 50-80%,具体取决于您的模板)。这对于带宽使用和提高性能非常重要,如果您必须管理一个大而胖 的基于Pylons/Pyramid且流量很大的网站,则更为重要。见https://www.npmjs.com/package/html-minifier
没有开销。缩小基于构建步骤(一种基于 gulp/grunt 的 collectstatic)。所以没有即时缩小
安全模板/html 缩小。它甚至适用于宏 和插槽。此模式已在生产网站上采用,1 年后没有问题。所以我敢说,经过一年的隔离,这是一个安全的模式,没有任何问题。你应该只记得禁用过于激进的缩小选项(见下一节)
pyramid_html_minifier 做什么
pyramid_html_minifier介绍了什么:
自定义.html渲染器(解释为Chameleon模板)
支持dist vs app,常用于Yeoman 项目。app将用于开发,而dist将用于 生产模式(基于模板缩小构建)。
通过这种方式,您可以使用Yeoman工作流程开始开发静态模拟应用程序(甚至是基于 Javascript 的应用程序),并将您修改后的包含宏和插槽的 html 文件用作Chameleon 模板。
如何使用 pyramid_html_minifier
在这里,您可以看到如何在 Pylons/Pyramid Web 应用程序中启用 Chameleon 模板缩小:
将您的Chameleon模板文件放在templates/app/master.html 中,并将其缩小版本放在templates/dist/master.html 中(.html扩展名很重要)。显然不要手动进行缩小,在您的开发工作流程中添加Yeoman及其相关的自动化工具。此软件包不提供任何gulp或grunt配置,您应该创建自己的设置
使用renderer="your_plugin:templates/{0}/master.html"注册一个普通的Pylons/Pyramid可调用视图 。{0}只是pyramid_html_minifier将根据您的设置填充的占位符。看下一步
告诉pyramid_html_minifier如果您想选择标准模板或缩小的模板,请将 pyramid_html_minifier.placeholder设置添加到您的 .ini文件中。开发的典型值是app(默认值),而dist通常用于生产环境。示例:pyramid_html_minifier.placeholder = dist
将pyramid_html_minifier添加到您的 pyramid.includes 设置
最终的 .ini 文件应如下所示:
pyramid.includes =
...
pyramid_html_minifier
...
pyramid_html_minifier.placeholder = dist
安全的缩小选项
我建议自动化构建过程,将Yeoman工作流集成到您的 Pylons/Pyramid项目中,以获得最佳的开发体验。
我建议使用html-minifier缩小器及其朋友gulp-html-minifier 禁用过于激进的 html 缩小选项。
特别要确保启用了keepClosingSlash选项并 禁用了removeAttributeQuotes。
在这里您可以看到一个真实的示例工作配置:
const htmlMinifierOptions = {
collapseBooleanAttributes: true,
collapseWhitespace: true,
removeComments: true,
removeCommentsFromCDATA: true,
removeEmptyAttributes: true,
removeRedundantAttributes: true,
useShortDoctype: true,
keepClosingSlash: true,
}
...
gulp.task('html', ['styles'], () => {
const assets = $.useref.assets({searchPath: ['.tmp', 'app', '.']});
return gulp.src('app/*.html')
..
.pipe($.if('*.html', $.htmlMinifier(htmlMinifierOptions)))
...
.pipe(gulp.dest('dist'));
为什么选择约曼
为什么选择约曼:
更好、更现代的 Web 开发体验
缩小和/或资源连接(图像、css、Javascript)
更多的。见http://yeoman.io/
链接
在这里你可以找到一个使用pyramid_html_minifier的项目:
有关使用相同模式的案例研究的更多详细信息:
0.1 (2015-08-03)
初始版本
项目详情
pyramid_html_minifier -0.1.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 81689dfb584e4e857f2a55d4b492f3555c0e0dbd6c4441386b9c578ded9d6ce2 |
|
| MD5 | 674768c4b305ec4ba90c6e01499a8692 |
|
| 布莱克2-256 | 4fb6b1538707d8b7991e278cea9c4c8957aca7c429cf9ca17f7f585974127d88 |