css和javascript缩小/组合升级到webhelpers
Minimatic的Python项目详细描述
对WebHelpers的扩展,它支持实时js/css组合和 生产模式下的小型化。
安装
使用简易安装:
$ easy_install minimatic
使用pip:
$ pip install minimatic
源代码
git存储库位于GitHub.com。
用法
它将WebHelpers函数javascript_link和stylesheet_link扩展到 接受一组修改后的参数:
- sources(list):要处理的js/css项。每个项目都是下列项目之一:
- (dict)带键:
- 文件:相对于静态文件根的源文件路径
- 缩小:缩小方法。可能值(默认值false):
- false(bool):使用未修改的源
- strip(str):只删除额外的空格和注释(适用 仅限CSS)
- minify(str):去掉空白并应用其他可能的js/css 小型化。请注意,这涉及到源解析,并且将出错 关于语法错误(css黑客将被删除!).实际上 结果文件在逻辑上可能不同
- dest:如果源列表未合并,则每个项都必须提供 相对于静态文件根的目标文件名
(str):将被视为(见上文):
{'file': (str), 'minify': False}
combined(str):相对于静态文件根的组合文件名。 意味着需要合并文件。如果combined为none,则每个 项必须提供dest密钥。
烧杯夸格斯(dict):重写将传递给的默认参数 烧杯缓存。beaker_kwargs.update()对默认参数发出。
timestamp将时间附加到链接以强制浏览器重新加载 js/css资产,例如test.js?T=123012343
文件将在生产模式下组合;在开发模式下 (debug=true)它们将单独提供未经修改的服务。
示例
将源代码混合并匹配到一个大的js文件中:
>>> javascript_link( ... # These files are already minified; combine them only ... '/js/jquery.js', ... '/js/jquery-ui-custom.js', ... # These are custom files which need to be minified first ... dict(file='/js/base.js', minify='minify'), ... dict(file='/js/page-script.js', minify='minify'), ... combined='/combined/js/scripts.js', ... timestamp=True)
单独提供css文件(未组合):
>>> stylesheet_link( ... # This stylesheet is valid CSS and safe to parse and minify ... dict(file='/css/base.css', minify='minify', ... dest='/combined/css/base.css'), ... # This stylesheet is full of CSS hacks and only the extra whitespace ... # and comments should be stripped ... dict(file='/css/styles.ie6.css', minify='strip', ... dest='/combined/css/styles.ie6.css'), ... timestamp=True)