minify提供用于缩小css和js资源的distutils/setuptools命令
minif的Python项目详细描述
minify提供distutils/setuptools命令,用于使用 雅虎著名的YUI compressorinc.安装minify时,两个 新命令可用:
- minify_js用于缩小javascript文件
- minify_css用于缩小css文件
有关这些命令的详细信息,请参见Usage部分。
安装
迷你命令是用于现有Python项目中的。所以,在 为了使命令在项目中可用,只需将minify添加到 项目的要求,例如:
setup( ... install_requires=['minify'], ... )
然后,在安装包时,minify命令将可用。
另外,由于yui压缩工具是用java编写的,因此您应该有一个java 虚拟机已安装在系统上,并可在系统中使用PATH。
minify也可以在纯distutils环境中使用,但请注意 使用缩小功能的包应使用cmdclass参数 在其设置脚本中,如下所示:
setup( ... cmdclass={ 'minify_js': minify.command.minify_js, 'minify_css': minify.command.minify_css }, ... )
用法
minify提供了两个用于缩小css和js资源的命令:
- minify_js用于缩小javascript文件
- minify_css用于缩小css文件
缩小javascript文件
要显示minify_js命令的选项,只需键入:
$ python setup.py minify_js --help
您应该获得如下信息:
Common commands: (see '--help-commands' for more) setup.py build will build the package underneath 'build/' setup.py install will install the package Global options: --verbose (-v) run verbosely (default) --quiet (-q) run quietly (turns verbosity off) --dry-run (-n) don't actually do anything --help (-h) show detailed help message --no-user-cfg ignore pydistutils.cfg in your home directory Options for 'minify_js' command: --sources sources files --output minified output filename. If you provide a template output filename (e.g. "static/%s-min.ext"), the source files will be minified individually --charset Read the input file(s) using <charset> --line-break Insert a line break after the specified column number --nomunge Minify only, do not obfuscate --preserve-semi Preserve all semicolons --disable-optimizations Disable all micro optimizations usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...] or: setup.py --help [cmd1 cmd2 ...] or: setup.py --help-commands or: setup.py cmd --help
可以在命令行上使用minify_js工具。下面是一个示例:
$ python setup.py minify_js --sources static/*.js --output static/combined.js
但是,使用minify_js最有用的方法是通过setup.cfg文件 位于项目根目录中(即,在^{tt13}旁边$ 文件:
[minify_js] sources = static/one.js static/two.js output = static/combined.js nomunge = yes
然后,运行minify_js命令,将读取命令选项 从setup.cfg文件中添加命令行参数。
注意,由于对于许多源有一个输出文件,所以 源文件合并为一个单独的文件,该文件由yui压缩 压缩器,以便生成单个缩小的文件。
但是,您可能需要单独压缩源文件并获取 不同的缩小文件。在这种情况下,您应该提供一个模板输出 文件名,而不是常规输出文件名。模板输出文件名是 文件名,其中有一个%s,将由当前源替换 正在处理的名称。例如:
[minify_js] sources = static/one.js static/two.js output = static/%s-min.js
运行python setup.py minify_js将生成两个缩小的文件: static/one-min.js和static/two-min.js。
缩小css文件
您还可以通过键入:
$ python setup.py minify_css --help
结果如下:
Common commands: (see '--help-commands' for more) setup.py build will build the package underneath 'build/' setup.py install will install the package Global options: --verbose (-v) run verbosely (default) --quiet (-q) run quietly (turns verbosity off) --dry-run (-n) don't actually do anything --help (-h) show detailed help message --no-user-cfg ignore pydistutils.cfg in your home directory Options for 'minify_css' command: --sources sources files --output minified output filename. If you provide a template output filename (e.g. "static/%s-min.ext"), the source files will be minified individually --charset Read the input file(s) using <charset> --line-break Insert a line break after the specified column number usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...] or: setup.py --help [cmd1 cmd2 ...] or: setup.py --help-commands or: setup.py cmd --help
此命令的使用方法与minify_js命令的使用方法大致相同,但是 它有更少的选择。
组合缩小操作
由于内置的^{tt22},您还可以组合缩小操作$ 命令(仍在setup.cfg文件中指定,但不能用于纯distutils):
[alias] minify_each_css = minify_css --sources static/*.css --output static/%s-min.css --charset utf-8 minify_each_js = minify_js --sources static/*.js --output static/%s-min.js --charset utf-8 minify_each = minify_each_css minify_each_js
然后键入:
$ python setup.py minify_each
支架
此项目位于bitbucket.org上。 请通过Bug Tracker报告问题。
更改日志
0.1.4(2013年9月24日)
- 增加了对Python2.6的支持。谢谢Mateusz Shirkey!
0.1.3(2012年5月3日)
- 纯distutils兼容性
0.1.2(2012年4月20日)
- 修正问题2:处理不顺的来源,导致评估时出现问题 CSS规则,…
0.1.1(2012年3月16日)
- 修正问题1:改进了文档,解释了minify需要安装工具来 安装。
0.1.0(2012年3月10日)
- 初始版本