Zope的CSS变量支持。
项目描述
这是Zope浏览器资源的CSS变量扩展的一个实现。
层叠样式表没有内置的方法来定义变量并在样式表中使用它们。这个特性已经在一些CSS相关博客中讨论过,并导致了非官方的草案规范。
在早期的Zope版本中,DTML模板语言被用来在CSS中定义变量。这破坏了CSS语法,看起来很糟糕,即使在浏览器得到了正确的值,CSS启用的编辑器也会产生错误信息。
cornerstone.cssvar使用与CSS几乎兼容的语法变体来应用变量
div.foo { color: var(myColor); }
如果我们使用zcml声明此类css资源,它看起来是这样的
<browser:cssvarResource name="foo" file="foo.css" />
如果我们使用CSS语法声明变量,我们必须在单独的文件中这样做,它看起来像这样
@variables { myColor: #123456; }
变量本身需要通过请求上的名为ICSSVariables的适配器来定义。我们可以通过自己的zcml指令来注册它
<browser:cssvarDefinition name="foodef" file="foodef.css" />
现在我们只需要告诉我们的第一个css文件使用哪个定义。这里没有公共的语法,所以我们将其放在注释中
/# vardef(foodef) /# div.foo { color: var(myColor); }
如果我们现在在浏览器中查看http://mydomain.tld/++resource++foo,它将产生以下结果
/# vardef(foodef) /# div.foo { color: #123456; }
对于由zope.app.publisher定义的资源目录,如果导入此模块,将注册特殊CSS处理程序,以针对每个CSS文件。
本包已在 Zope 3.5dev KGS(Python 2.6)以及 Zope 2.10.7(包含 Plone 3.3 和 Python 2.4)中进行测试。
待办事项
编写测试!
使 resourceDirectory 在 Plone 中工作。
性能分析和性能测试。
版权
由 Jens W. Klein 编写 - BlueDynamics Alliance - Klein & Partner KEG,奥地利
许可证
版权(c)2008-2009,BlueDynamics Alliance,奥地利,保留所有权利。
在满足以下条件的情况下,允许重新分发和使用源代码和二进制形式,无论是否修改:
源代码的重新分发必须保留上述版权声明、本条件列表和以下免责声明。
二进制形式的重新分发必须在文档和/或其他提供的材料中重新生产上述版权声明、本条件列表和以下免责声明。
未经事先书面许可,不得使用 BlueDynamics Alliance 的名称或其贡献者的姓名来认可或推广源自本软件的产品。
本软件由 BlueDynamics Alliance “按原样”提供,并明确或暗示地放弃了任何明示或暗示的保证,包括但不限于适销性和特定目的的适用性保证。在任何情况下,BlueDynamics Alliance 均不对任何直接、间接、偶然、特殊、示范性或后果性的损害(包括但不限于替代货物或服务的采购;使用、数据或利润的损失;或业务中断)承担责任,无论该损害是由于何种原因引起的,也不论是根据何种责任理论(合同、严格责任或侵权责任,包括疏忽或否则)引起的,即使已被告知此类损害的可能性。
项目详情
cornerstone.cssvar-1.0.tar.gz 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | d54ded412a3092a9c23e9e1dfaac3593e4f46105eb7adde8c03b5674ce496f88 |
|
MD5 | c416dbe749313e76f92c5933357ee4f4 |
|
BLAKE2b-256 | 5627adfc73589ca05966267eabbab0e2e7f79dc80740ac0895005dd48ceae335 |