准备一组HTML文件以进行部署
grymt的Python项目详细描述
grymt
==
*[瑞典语中是“很棒的”意思](http://en.wiktionary.org/wiki/grym瑞典语)。
*分析和处理HTML以实现理想的生产托管。所有引用的css和js都被缩小,并根据您在html文件中的html
注释连接起来。
*输入要求所有要分析的内容都在一个子目录中。
*最终,“grymt”是一个解决方案,不能按照
[grunt](http://gruntjs.com/)的要求使用
。grunt是一个很好的框架,但是很难让它完全按照您喜欢的方式工作。单独的grunt“菜谱”可以工作,但不能全部工作。
demo
---
示例应用程序是[buggy](https://github.com/peterbe/buggy)。将[源代码](https://github.com/peterbe/buggy/blob/master/client/index.html)与在
[buggy.peterbe.com](http://buggy.peterbe.com/)上查看HTML源代码的输出进行比较。
```
python grymt.py示例app
```
现在检查在`./dist/`.
pip install grymt
``
例如,
```
ls app/
index.html partials static
````
,然后,
`````
grymt app/
````
,这将创建一个名为“dist”的目录,该目录是“app”的副本,但对html、css和js进行了优化。
````
grymt--help
```
license
——
[Mozilla Public License 2.0](http://www.mozilla.org/mpl/2.0/)
版权所有:peter bengtsson
cool features
——
*您可以使用哈希。例如,
`` html
<;!--构建:js$hash.min.js-->;
<;script src=“foo.js”>;
<;script src=“bar.js”>;<;script>;
<;!--endbuild-->;
```
然后您会得到一个名为“95afdee.min.js”的文件,其中的哈希值是文件组合内容的校验和。
*您可以内联css或js,而不是使其成为外部文件。例如,
`` html
<;head>;
<;!--构建:css stuff.css-->;
<;link href=“foo.css”>;
<;link href=“bar.css”>;
<;!--endbuild-->;
<;/head>;
```
可以变成:
``html
<;head>;
<;style>;
…foo.css的内容缩小了…
…bar.css的内容缩小了…
<;style>;
```
一个很好的web性能优化技巧
,因为您减少了对外部资源的依赖,并且
使浏览器更容易更快地开始将内容呈现到屏幕上。
*像“somelib.min.js”或“someframework-min.css”这样的文件不会再次最小化`$git_revision_short`)转换为当前git头sha的
html中的任何位置。
*css中引用的所有图像都有唯一且漂亮的名称,这使得
可以在它们上设置将来的缓存头。
*可以将html设置为删除。这个例子很好地证明了这一点:
``html
<;script>;var debug=false<;/script>;
<;!--生成:删除-->;
<;脚本>;调试=真<;/script>;
<;!--endbuild-->;
```
这使得在生产时“window.debug”是“false”。
*它很快。
*您可以使用include文件,这样只会插入到生成的代码中。
例如:
``html
<;head>;
<;!--构建:包含/google-analytics.html-->;
<;/head>;
```
about--git revision
----
_在
html中,grymt将自动执行“git rev parse head”的shell命令。
但如果文件副本(运行grymt
的文件)不在git存储库中,则这可能不起作用。
相反,解决方案是在命令行上提供它:
```
grymt--git revision e30a0a52f56f5223ec043056a55d05aa53d33b508./somedirectory
````
uglifyjs而不是jsmin
-
jsmin的优点是安装和使用非常容易python.
“uglifyjs”的优势在于它更擅长优化javascript代码。
==
*[瑞典语中是“很棒的”意思](http://en.wiktionary.org/wiki/grym瑞典语)。
*分析和处理HTML以实现理想的生产托管。所有引用的css和js都被缩小,并根据您在html文件中的html
注释连接起来。
*输入要求所有要分析的内容都在一个子目录中。
*最终,“grymt”是一个解决方案,不能按照
[grunt](http://gruntjs.com/)的要求使用
。grunt是一个很好的框架,但是很难让它完全按照您喜欢的方式工作。单独的grunt“菜谱”可以工作,但不能全部工作。
demo
---
示例应用程序是[buggy](https://github.com/peterbe/buggy)。将[源代码](https://github.com/peterbe/buggy/blob/master/client/index.html)与在
[buggy.peterbe.com](http://buggy.peterbe.com/)上查看HTML源代码的输出进行比较。
```
python grymt.py示例app
```
现在检查在`./dist/`.
pip install grymt
``
例如,
```
ls app/
index.html partials static
````
,然后,
`````
grymt app/
````
,这将创建一个名为“dist”的目录,该目录是“app”的副本,但对html、css和js进行了优化。
````
grymt--help
```
license
——
[Mozilla Public License 2.0](http://www.mozilla.org/mpl/2.0/)
版权所有:peter bengtsson
cool features
——
*您可以使用哈希。例如,
`` html
<;!--构建:js$hash.min.js-->;
<;script src=“foo.js”>;
<;script src=“bar.js”>;<;script>;
<;!--endbuild-->;
```
然后您会得到一个名为“95afdee.min.js”的文件,其中的哈希值是文件组合内容的校验和。
*您可以内联css或js,而不是使其成为外部文件。例如,
`` html
<;head>;
<;!--构建:css stuff.css-->;
<;link href=“foo.css”>;
<;link href=“bar.css”>;
<;!--endbuild-->;
<;/head>;
```
可以变成:
``html
<;head>;
<;style>;
…foo.css的内容缩小了…
…bar.css的内容缩小了…
<;style>;
```
一个很好的web性能优化技巧
,因为您减少了对外部资源的依赖,并且
使浏览器更容易更快地开始将内容呈现到屏幕上。
*像“somelib.min.js”或“someframework-min.css”这样的文件不会再次最小化`$git_revision_short`)转换为当前git头sha的
html中的任何位置。
*css中引用的所有图像都有唯一且漂亮的名称,这使得
可以在它们上设置将来的缓存头。
*可以将html设置为删除。这个例子很好地证明了这一点:
``html
<;script>;var debug=false<;/script>;
<;!--生成:删除-->;
<;脚本>;调试=真<;/script>;
<;!--endbuild-->;
```
这使得在生产时“window.debug”是“false”。
*它很快。
*您可以使用include文件,这样只会插入到生成的代码中。
例如:
``html
<;head>;
<;!--构建:包含/google-analytics.html-->;
<;/head>;
```
about--git revision
----
_在
html中,grymt将自动执行“git rev parse head”的shell命令。
但如果文件副本(运行grymt
的文件)不在git存储库中,则这可能不起作用。
相反,解决方案是在命令行上提供它:
```
grymt--git revision e30a0a52f56f5223ec043056a55d05aa53d33b508./somedirectory
````
uglifyjs而不是jsmin
-
jsmin的优点是安装和使用非常容易python.
“uglifyjs”的优势在于它更擅长优化javascript代码。