金字塔网络资产
pyramid_webassets的Python项目详细描述
安装[构建状态](https://travis-ci.org/sontek/pyramid_webassets.svg?branch=master)"(https://travis ci.org/sontek/pyramid_webassets)
[![覆盖范围](https://img.shields.io/covertalls/sontek/pyramid-webassets.svg)(https://covertalls.io/r/sontek/pyramid-webassets)
` development.ini`:
```
pyramid.includes=
pyramid调试工具栏
pyramid-tm
pyramid-webassets
```
config.include('金字塔网络资产')
```
configuration
===
您需要设置"基本目录"和"基本URL",其余是可选的,
,但我们目前支持:
*``基本目录'`:输出和搜索资产的目录
*``基本URL``:url静态资产将位于
*``debug`:如果webassets应处于调试模式(即不压缩)
*``updater`:不同的更新配置(即始终是时间戳)
*``cache`:如果我们应使用webassets cache(如果是布尔值的话),或者重写缓存目录的默认路径:自定义jst编译器,默认情况下,它使用下划线
*`` url-expire`:如果要向url添加破坏缓存的查询字符串
*``静态视图``:如果要使用金字塔配置将资产注册为静态视图,则添加静态视图()
*``缓存最大年龄``:如果静态视图为true,则将其作为静态视图传递视图的cache-max-age参数(允许控制expires和cache-control头)
*``path s`:一个json字典,其中path=url映射,用于将路径添加到其他资源位置(`url`可以为空,仅用于添加路径)
*``bundles`:文件名或[asset spec](或两者之一的列表)(http://docs.pylonsproject.org/projects/pyramd/en/latest/glossary.html术语资产规范)的yaml[捆绑包规范](http://webassets.readthedocs.org/en/latest/loaders.html?highlight=loader(webassets.loader s.yamlloader),其包将自动注册
``ini
webassets.base\u dir=%(此处)s/app/static
webassets.base\u url=static
webassets.debug=true
webassets.updater=时间戳
webassets.cache=false
webassets.jst_compiler=handlebars.compile
webassets.url_expire=false
webassets.static_view=true
webassets.cache_max_age=3600
webassets.bundles=mypackage:webassets.yaml
```
>然后您就可以使用config.add\webasset将捆绑包添加到您的环境中
``python
from webassets import bundle
jst=bundle('templates/*.html',
filters='jst',
output='js js/jst.js,debug=false)
config.add_webasset('jst',jst)
````
所有其他配置都传递给webassets,包括
筛选器设置。这些调整如下:如果一个值正好是
``true``或``false`,则将其转换为布尔值;如果一个值
以字符串``json:``作为前缀,则将其转换为json解析。这使得金字塔型webassets可以处理基本的可扩展过滤器配置,而不需要任何python代码,例如:
``ini
webassets.less_run_in_debug=true
webassets.less_extra_args=json:["--line numbers=mediaquery","-o2"]
```
规范,而不是文件和url
——会像拒绝一样工作正常绑定文件。
在开发模式下)。
"my.super.app:static")
```
将基本URL配置选项设置为资产规范:
````
````>base-url=my.super.app:static
`````
将使webassets对您的资产使用``/static stuff``路由。注意:
绝对路径或相对路径取决于应用程序的部署位置。
包含的与模板一起使用的帮助程序是可以与模板一起使用的帮助程序。其他帮助程序
在下面标记为"Extras"的部分中进行了说明。
----
>您可以使用全局webassets标记:
`` python
%用于webassets中的url(request,'css/bootstrap.css','css/bootstrap responsive.css',output='css/generated.css',,filters='cssmin'):
<;link href="${url}" rel="stylesheet">;
%endfor
```
您只需执行以下配置(假设使用金字塔jinja2):
``` python
config.add\jinja2\u extension('webassets.ext.jinja2.assetextension')
assets\u env=config.get\u webassets\u env()
jinja2\u env2=config.get_jinja2_environment()
jinja2_env.assets_env=assets_env
````
,然后:
``python
{%assets"jst"%}
<;script type="text/javascript" src="{{asset_url}">;<;/script>;
{%endassets%}
```
generic
--
可以用来使在金字塔应用程序中使用webassets变得更容易。
配置
----
在启动期间,可以对"configurator"实例调用这些方法:
``添加webasset(name,bundle)``:向webassets注册一个bundle
``添加webassets`设置(key,value)``:更新环境配置
``添加webassets`路径(path,url)``:向环境附加一个url映射
``从设置(settings,prefix='静态资产')``:pass设置的
字典和
配置中前缀的可选关键字参数,它将返回一个webassets环境。
``get_webassets_env()`:这将把环境从注册表中拉出。
属性和帮助程序附加到"request"对象:
``request.webassets_env``:访问webassets环境
``request.webassets(*bundle_names,**kwargs)``:生成命名的bundle。
关键字参数将传递给webassets以影响绑定。
从脚本生成资产
=======================
"webassets"模块包括一个命令行脚本,也称为"webassets"
,可以使用该脚本离线构建捆绑包。与棱锥体集成时,使用paster引导环境会有帮助,就像这样:
``python
import pyramid.paster
import webassets.script
assets_env=app_env['request'].webassets_env
webassets.script.main(['build'],资产环境)
````
>0.10(2018-11-03)
===
向后不兼容性已删除。
features
--
-已添加对棱锥版本v1.4和更新版本的支持。
>0.9(2014-10-21)
===
features
--
-支持在使用"webassets.bundles"设置时重写命名的捆绑包。列表中前面的文件优先,可以覆盖后面文件中定义的名为
的包。结合
文件名的资产规范,可以方便地扩展其他
包的捆绑包配置。
<0.8(2014-08-04)
===
features
--
-支持webassets v0.8.x,v0.9.x的版本,和0.10.x.
-支持输入文件的glob规范。
-引入了对指定基本目录和输入文件的支持,以及使用资产规范的输出目录。兰德尔·利兹和约翰·安德森的补丁,哈维尔·冈纳的文档。请参见
https://github.com/pyramd_webassets/issues/13
https://github.com/pyramd_webassets/issues/14
https://github.com/pyramd_webassets/issues/31和
https://github.com/pyramd_webassets/issues/41。
-一个新的配置指令,``add_webassets`,更新webassets环境配置中
提供的键和值的方法可以从"configurator"实例调用
``配置程序``实例。jason brumwell提供的修补程序。
-支持"自动生成"、"jst"命名空间和"url"过期设置。Svante Paldan、Olaf Conradi和Randall的贴片
Leeds。请参阅https://github.com/pyramd_webassets/issues/15
https://github.com/pyramd_webassets/issues/17和
https://github.com/pyramd_webassets/issues/20。
-新的"路径"设置允许指定从路径到
url的映射的json字典,以便支持多个加载路径和url
前缀。按metagriffin修补。
-支持"加载路径"设置中的多个值。由greg
kempe修补。请参阅https://github.com/pyramid_webassets/issues/33.
-新的"缓存最长时间"设置控制静态视图的过期和缓存行为。此设置的值传递给
"添加静态视图"调用。
-现在可以指定"bundles"设置,该设置列出要解析的yaml文件以获取bundle定义。以前的条目覆盖后面
条目中定义的bundle。metagriffin的补丁和randall leeds的多值支持。
请参阅https://github.com/pyramid_webassets/issues/35。
-在传递给webassets之前,前缀为"json:"的配置值将被解析为json
。按metagriffin修补。
bug修复
——
-资产现在可以在没有活动请求的情况下生成。
-"`cache`"和"`manifest`"选项现在支持有效的非布尔值
,如webassets文档所述。迈克·沃思的补丁。请参见
https://github.com/pyramid_webassets/issues/11。
-如果"cache"参数指定了一个目录,请确保该目录存在。
patch by metagriffin。请参阅https://github.com/pyramid_webassets/issues/29。
文档
----
-清理文档标记。michael merickel提供的修补程序。
https://github.com/pyramid\u webassets/issues/18
-修复"url\u expire"设置文档中的错误。设置已被
(错误地)拼写为"url\u expires"。Greg Kempe提供的补丁。
请参见https://github.com/pyramid_webassets/issues/34。
-从命令行添加构建资源的示例。
-包括MIT许可证。
已删除早于v0.8的版本。
-不再自动添加已配置目录和url的静态视图。将配置值"static\u views"设置为true,以便在包含金字塔网络资源时添加该值。
[![覆盖范围](https://img.shields.io/covertalls/sontek/pyramid-webassets.svg)(https://covertalls.io/r/sontek/pyramid-webassets)
` development.ini`:
```
pyramid.includes=
pyramid调试工具栏
pyramid-tm
pyramid-webassets
```
config.include('金字塔网络资产')
```
configuration
===
您需要设置"基本目录"和"基本URL",其余是可选的,
,但我们目前支持:
*``基本目录'`:输出和搜索资产的目录
*``基本URL``:url静态资产将位于
*``debug`:如果webassets应处于调试模式(即不压缩)
*``updater`:不同的更新配置(即始终是时间戳)
*``cache`:如果我们应使用webassets cache(如果是布尔值的话),或者重写缓存目录的默认路径:自定义jst编译器,默认情况下,它使用下划线
*`` url-expire`:如果要向url添加破坏缓存的查询字符串
*``静态视图``:如果要使用金字塔配置将资产注册为静态视图,则添加静态视图()
*``缓存最大年龄``:如果静态视图为true,则将其作为静态视图传递视图的cache-max-age参数(允许控制expires和cache-control头)
*``path s`:一个json字典,其中path=url映射,用于将路径添加到其他资源位置(`url`可以为空,仅用于添加路径)
*``bundles`:文件名或[asset spec](或两者之一的列表)(http://docs.pylonsproject.org/projects/pyramd/en/latest/glossary.html术语资产规范)的yaml[捆绑包规范](http://webassets.readthedocs.org/en/latest/loaders.html?highlight=loader(webassets.loader s.yamlloader),其包将自动注册
``ini
webassets.base\u dir=%(此处)s/app/static
webassets.base\u url=static
webassets.debug=true
webassets.updater=时间戳
webassets.cache=false
webassets.jst_compiler=handlebars.compile
webassets.url_expire=false
webassets.static_view=true
webassets.cache_max_age=3600
webassets.bundles=mypackage:webassets.yaml
```
>然后您就可以使用config.add\webasset将捆绑包添加到您的环境中
``python
from webassets import bundle
jst=bundle('templates/*.html',
filters='jst',
output='js js/jst.js,debug=false)
config.add_webasset('jst',jst)
````
所有其他配置都传递给webassets,包括
筛选器设置。这些调整如下:如果一个值正好是
``true``或``false`,则将其转换为布尔值;如果一个值
以字符串``json:``作为前缀,则将其转换为json解析。这使得金字塔型webassets可以处理基本的可扩展过滤器配置,而不需要任何python代码,例如:
``ini
webassets.less_run_in_debug=true
webassets.less_extra_args=json:["--line numbers=mediaquery","-o2"]
```
规范,而不是文件和url
——会像拒绝一样工作正常绑定文件。
在开发模式下)。
"my.super.app:static")
```
将基本URL配置选项设置为资产规范:
````
````>base-url=my.super.app:static
`````
将使webassets对您的资产使用``/static stuff``路由。注意:
绝对路径或相对路径取决于应用程序的部署位置。
包含的与模板一起使用的帮助程序是可以与模板一起使用的帮助程序。其他帮助程序
在下面标记为"Extras"的部分中进行了说明。
>您可以使用全局webassets标记:
`` python
%用于webassets中的url(request,'css/bootstrap.css','css/bootstrap responsive.css',output='css/generated.css',,filters='cssmin'):
<;link href="${url}" rel="stylesheet">;
%endfor
```
您只需执行以下配置(假设使用金字塔jinja2):
``` python
config.add\jinja2\u extension('webassets.ext.jinja2.assetextension')
assets\u env=config.get\u webassets\u env()
jinja2\u env2=config.get_jinja2_environment()
jinja2_env.assets_env=assets_env
````
,然后:
``python
{%assets"jst"%}
<;script type="text/javascript" src="{{asset_url}">;<;/script>;
{%endassets%}
```
generic
--
可以用来使在金字塔应用程序中使用webassets变得更容易。
配置
----
在启动期间,可以对"configurator"实例调用这些方法:
``添加webasset(name,bundle)``:向webassets注册一个bundle
``添加webassets`设置(key,value)``:更新环境配置
``添加webassets`路径(path,url)``:向环境附加一个url映射
``从设置(settings,prefix='静态资产')``:pass设置的
字典和
配置中前缀的可选关键字参数,它将返回一个webassets环境。
``get_webassets_env()`:这将把环境从注册表中拉出。
属性和帮助程序附加到"request"对象:
``request.webassets_env``:访问webassets环境
``request.webassets(*bundle_names,**kwargs)``:生成命名的bundle。
关键字参数将传递给webassets以影响绑定。
从脚本生成资产
=======================
"webassets"模块包括一个命令行脚本,也称为"webassets"
,可以使用该脚本离线构建捆绑包。与棱锥体集成时,使用paster引导环境会有帮助,就像这样:
``python
import pyramid.paster
import webassets.script
webassets.script.main(['build'],资产环境)
````
>0.10(2018-11-03)
===
向后不兼容性已删除。
features
--
-已添加对棱锥版本v1.4和更新版本的支持。
>0.9(2014-10-21)
===
features
--
-支持在使用"webassets.bundles"设置时重写命名的捆绑包。列表中前面的文件优先,可以覆盖后面文件中定义的名为
的包。结合
文件名的资产规范,可以方便地扩展其他
包的捆绑包配置。
<0.8(2014-08-04)
===
features
--
-支持webassets v0.8.x,v0.9.x的版本,和0.10.x.
-支持输入文件的glob规范。
-引入了对指定基本目录和输入文件的支持,以及使用资产规范的输出目录。兰德尔·利兹和约翰·安德森的补丁,哈维尔·冈纳的文档。请参见
https://github.com/pyramd_webassets/issues/13
https://github.com/pyramd_webassets/issues/14
https://github.com/pyramd_webassets/issues/31和
https://github.com/pyramd_webassets/issues/41。
-一个新的配置指令,``add_webassets`,更新webassets环境配置中
提供的键和值的方法可以从"configurator"实例调用
``配置程序``实例。jason brumwell提供的修补程序。
-支持"自动生成"、"jst"命名空间和"url"过期设置。Svante Paldan、Olaf Conradi和Randall的贴片
Leeds。请参阅https://github.com/pyramd_webassets/issues/15
https://github.com/pyramd_webassets/issues/17和
https://github.com/pyramd_webassets/issues/20。
-新的"路径"设置允许指定从路径到
url的映射的json字典,以便支持多个加载路径和url
前缀。按metagriffin修补。
-支持"加载路径"设置中的多个值。由greg
kempe修补。请参阅https://github.com/pyramid_webassets/issues/33.
-新的"缓存最长时间"设置控制静态视图的过期和缓存行为。此设置的值传递给
"添加静态视图"调用。
-现在可以指定"bundles"设置,该设置列出要解析的yaml文件以获取bundle定义。以前的条目覆盖后面
条目中定义的bundle。metagriffin的补丁和randall leeds的多值支持。
请参阅https://github.com/pyramid_webassets/issues/35。
-在传递给webassets之前,前缀为"json:"的配置值将被解析为json
。按metagriffin修补。
bug修复
——
-资产现在可以在没有活动请求的情况下生成。
-"`cache`"和"`manifest`"选项现在支持有效的非布尔值
,如webassets文档所述。迈克·沃思的补丁。请参见
https://github.com/pyramid_webassets/issues/11。
-如果"cache"参数指定了一个目录,请确保该目录存在。
patch by metagriffin。请参阅https://github.com/pyramid_webassets/issues/29。
文档
----
-清理文档标记。michael merickel提供的修补程序。
https://github.com/pyramid\u webassets/issues/18
-修复"url\u expire"设置文档中的错误。设置已被
(错误地)拼写为"url\u expires"。Greg Kempe提供的补丁。
请参见https://github.com/pyramid_webassets/issues/34。
-从命令行添加构建资源的示例。
-包括MIT许可证。
已删除早于v0.8的版本。
-不再自动添加已配置目录和url的静态视图。将配置值"static\u views"设置为true,以便在包含金字塔网络资源时添加该值。