wsgi中间件,用于操作html头部中的css和javascript。
zif.headincludes的Python项目详细描述
有关详细信息,请参阅“src/zif/headincludes/readme.txt”。
释放量
0.4(2010/03/12)
添加了测试和构建配置。 现在正确地做需求的需求。 多亏了一位匿名投稿人。
0.3(2007/05/25)
发布以包含分发中丢失的zcml文件。
0.2(2007/04/13)
正确的版本自述文件。
0.1(2007/04/13)
初次发布。
详细文档
zif.头部包括
这是一个wsgi中间件应用程序,用于
paste.deploy、zope.paste和zope3。
它用作wsgi过滤器,可以动态创建<;脚本>;和
&HTML文档头内的标记。它是设计的
对于来自zope3应用程序的输出,但是wsgi过滤器本身,在
headincluder.py没有zope3依赖项。
其思想是文档的子对象可能单独需要特殊的
资源,但很难知道是否需要资源
多次动态生成文档。对于Zope3,
headincludes取代了zc.resourcebrary的功能,它
也实现了这个想法。事实上,主要是因为头部包括
从zc.resourcelibrary“借用”代码,可以安装它们
并排,但一次只能使用一个,因为它们都是
为zcml和
&;lt;tal:页面模板的资源库语句。
headincludes通过在wsgi环境中创建密钥来工作,
“wsgi.html.head.includes”是需要
在当前请求的HTML文档头中引用。
应用程序通过附加url来注册对引用的需要
以供参考。以“.css”和“.js”结尾的URL
该列表触发中间件插入&;lt;style>;或&;lt;script>;
应用程序完成后标记到文档的<;页眉>;。
正在创建HTML。
headincludes尽量保持与
资源库。need()函数已重写,并使用
headincludes版本只需更改导入
陈述。“资源库”语句也仍然
功能性的。
headincludes允许的一个新特性是任意包含而不需要
注册资源。url可以放在includes列表中
任何时候都可以访问request.environ。只需附加任何所需的
列表的URL,例如
try:
request.environ['wsgi.html.head.includes'].append('/scripts/my_url.js')
except KeyError:
(handle case when the filter is not available)
或者,headincludes有一个提供iHeadincludeRegistration的实用程序:
from zope.component import getUtility
from zif.headincludes.interfaces import IHeadIncludeRegistration
registrar = getUtility(IHeadIncludeRegistration)
if registrar:
registrar.register('scripts/my_url.js')
依赖性
对于zope3,headincludes需要sidnei da silva的zope.paste
zope.paste可在http://svn.zope.org/zope.paste/trunk/
cd [path.to.zope3.src.directory]/zope
svn co http://svn.zope.org/zope.paste/trunk/ paste
zope.paste的说明位于http://awkly.org/
zope.paste需要paste.deploy。可以从奶酪中获得paste.deploy
购物。假设您安装了安装工具,
sudo easy_install.py PasteDeploy
这个(headincludes)包可以解压并安装在python上的任何地方
路径。
设置
按照sidnei的说明设置zope.paste。它包括
将常用的zope.paste-configure.zcml文件放入[zope3 instance]/etc/site包中。
在[zope3 instance]/etc/zope.conf中还有一个参数要更改。
新的twist是[zope3 instance]/etc中的paste.ini文件
对于zope3,复制headincludes-configure.zcml和
headincludes-meta.zcml文件到[zope3 instance]/etc/package includes
目录。
paste.ini文件的示例如下:
[pipeline:Paste.Main]
pipeline = headincludes main
[app:main]
paste.app_factory = zope.paste.application:zope_publisher_app_factory
[filter:headincludes]
paste.filter_factory=zif.headincludes.headincluder:filter_factory
location=top
配置
上面的paste.ini文件显示了
头部包括
- 位置在<;head>;中需要新标记的位置。“顶部”是
默认设置,并将新脚本和/或样式标记放置在<;head>;
元素。任何其他值都会将标记放在标记前面。
依赖性
对于zope3,headincludes需要sidnei da silva的zope.paste
zope.paste可在http://svn.zope.org/zope.paste/trunk/
cd [path.to.zope3.src.directory]/zope svn co http://svn.zope.org/zope.paste/trunk/ paste
zope.paste的说明位于http://awkly.org/
zope.paste需要paste.deploy。可以从奶酪中获得paste.deploy 购物。假设您安装了安装工具,
sudo easy_install.py PasteDeploy
这个(headincludes)包可以解压并安装在python上的任何地方 路径。
设置
按照sidnei的说明设置zope.paste。它包括 将常用的zope.paste-configure.zcml文件放入[zope3 instance]/etc/site包中。 在[zope3 instance]/etc/zope.conf中还有一个参数要更改。 新的twist是[zope3 instance]/etc中的paste.ini文件
对于zope3,复制headincludes-configure.zcml和 headincludes-meta.zcml文件到[zope3 instance]/etc/package includes 目录。
paste.ini文件的示例如下:
[pipeline:Paste.Main] pipeline = headincludes main [app:main] paste.app_factory = zope.paste.application:zope_publisher_app_factory [filter:headincludes] paste.filter_factory=zif.headincludes.headincluder:filter_factory location=top
配置
上面的paste.ini文件显示了 头部包括
- 位置在<;head>;中需要新标记的位置。“顶部”是 默认设置,并将新脚本和/或样式标记放置在<;head>; 元素。任何其他值都会将标记放在标记前面。