准备一组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代码。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
由于java的原因,maven无法运行代码。lang.NoClassDefFoundError:com/fasterxml/jackson/annotation/JsonMerge   Android项目中的java Creative SDK图像编辑器UI   java如何在Android Studio中使用DataOutputStream上传文件并将其他参数传递到web服务器   java倒计时服务打开时崩溃   java将RubyonRails项目转换为JRubyonRails项目   java我的图库意图是不显示图像?为什么?   java如何在春季启动时跳过mongodb/   java@Autowired在Spring中是如何实现的   甲骨文Akka java。util。同时发生的timeoutexception线程池频繁超时   java maven依赖项对spring启动应用程序有何影响?   java Firestore执行复合查询,未截获事件“已修改”   java ItemStreamException:未能初始化读取器,原因是:IllegalStateException:流已初始化。重新开放前关闭   java将空标记解组到集合的新实例中   使用AspectJ的java新手:无法调用aspect   java查找棋类游戏的所有组合   你为什么要这样做and==与Java中的equals方法不一样吗?   如何对使用JavaUUID的代码进行单元测试?