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.jsstatic/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日)

  • 初始版本

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

推荐PyPI第三方库


热门话题
java的单元测试测试用例库。util。列出实现   java通过超类进行序列化/反序列化   java Android获取设备语言ISO字符串   java如何打开广告的行动。移动   Eclipse IDE for(嵌入式C/C++)开发者202012:经典的深色主题深黑色背景和菜单中的文本   java使用不同的内容动态创建TableView(JavaFX)   java JAXB将多个同名节点解组   java ClassDefNotFoundException,即使类由类加载器加载(服务器上安装了多个应用程序)   java有没有办法关闭在后端生成的MqttClient线程?   html如何在网站上的java小程序中包含图像?   java无法访问已分配给超类引用的子类实例变量   java在TableViewer中双击打开对话框   列出如何创建ListNode。JAVA   java如何从文本中输出的数组中放入随机图像