Skip to main content

pyramid_html_minifier

项目描述

构建状态 代码覆盖率

pyramid_html_minifierPylons/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及其相关的自动化工具。此软件包不提供任何gulpgrunt配置,您应该创建自己的设置

  • 使用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/

作者

0.1 (2015-08-03)

  • 初始版本

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

pyramid_html_minifier-0.1.tar.gz (7.0 kB 图哈希)

已上传 source