此软件包允许主题开发者为Plone网站添加LESS样式表。
项目描述
简介
此软件包允许主题开发者为Plone网站添加LESS样式表。
LESS
LESS 通过变量、混入、操作和函数等动态行为扩展了 CSS。LESS 可在客户端(Chrome、Safari、Firefox)和服务器端运行。
您可以在 https://lesscss.org.cn/ 找到有关 LESS 的更多信息。
与 Plone 的集成
此包复制了 portal_css 行为,并将其扩展到满足客户端和服务器端 LESS 资源编译方法。
它向门户添加了一个 portal_less 工具,启用导入/导出 GS 配置文件 lessregistry.xml,并覆盖了默认的 Products.ResourceRegistries 视图,通过添加
标签的 LESS 资源部分。添加 LESS 资源
此包旨在与用户定义的 Plone 主题包一起使用。作为开发者,您可以包含尽可能多的 LESS 资源来构建您的主题。您可以使用名为 lessregistry.xml 的 GS 配置文件添加 LESS 资源。语法是从 cssregistry.xml 配置文件复制的。
<?xml version="1.0"?> <object name="portal_less" meta_type="LESS Stylesheets Registry"> <stylesheet title="++bootstrap++less/bootstrap.less" authenticated="False" enabled="on" id="++bootstrap++less/bootstrap.less" rendering="link"/> </object>
控制面板
您可以通过访问位于网站设置的 LESS 资源配置小部件来管理 LESS 资源编译的方式。默认情况下,客户端 LESS 资源编译模式和压缩已启用。
客户端编译
客户端编译在(主题)开发模式下使用。
collective.lesscss 将使用标准方法进行客户端编译,使用 less.js(v1.3,在撰写本文时)并在 portal_css 资源之后公开 LESS 资源
<link rel="stylesheet/less" type="text/css" href="styles.less"> <!-- Here goes the rest of portal_javascript resources --> <script src="less.js" type="text/javascript"></script>
服务器端编译
建议在生产模式下使用服务器端编译的 LESS 资源。通过取消选中此选项,网站将服务器端编译它们为 CSS 资源,并启用它们上的可变缓存。
重要说明:服务器端编译需要在您的主题包中通过 plone.resource 包声明资源!示例
<plone:static directory="resources/less" type="bootstrap" name="less" />
此外,如果您没有使用 plone.app.theming 开发主题,您应该在您的主题中创建此类(例如,traversal.py)以声明您正在使用的资源类型
from plone.resource.traversal import ResourceTraverser class BootstrapTraverser(ResourceTraverser): """The theme traverser. Allows traveral to /++bootstrap++<name> using ``plone.resource`` to fetch things stored either on the filesystem or in the ZODB. """ name = 'bootstrap'
然后通过 zcml 声明适配器
<adapter name="bootstrap" for="* zope.publisher.interfaces.IRequest" provides="zope.traversing.interfaces.ITraversable" factory=".traversal.BootstrapTraverser" />
因此,您现在应该可以通过访问来访问资源目录中的资源
https://127.0.0.1/Plone/++bootstrap++less/
Twitter Bootstrap 集成
您可以在 https://github.com/sneridagh/example.bootstrap 上查看此包,以获取有关如何将 LESS 资源集成到您的主题包中的完整示例。
贡献者
Victor Fernandez de Alba [sneridagh],作者
Sebastian Jordan [seppeljordan]
Leonardo J. Caballero G. [macagua]
Laurent Lasudry [laulaz]
变更日志
2.0.3 (2020-04-06)
允许浏览器在 portal_less 不在调试模式下时缓存编译后的 CSS(compiled_styles.css)[laulaz]
更新了西班牙语翻译 [macagua]
更新了 Gettext 文件 [macagua]
为该包[macagua]添加了更多关键词和字符串分类器项,并更新了其他项。
2.0.2 (2017-12-12)
如果portal_less中选中了debugmode,则不要缓存lesscss。[bsuttor]
2.0.1 (2017-05-17)
在LESS编译之前始终对CSS字符串进行编码以避免错误。[laulaz]
如果编译失败,则不要显示信息消息。[laulaz]
2.0 (2017-03-21)
直接使用python包lesscpy而不是调用脚本(#8)。这允许在服务器端编译时移除Node.js。[laulaz]
添加(可选)LESS文件的压缩。代码基于https://github.com/collective/collective.lesscss/pull/9,但直接使用lessc脚本(而不是cleancss)并带有压缩选项。[laulaz]
当文件之间存在引用时,改进服务器端编译。我们需要一起编译资源,因为否则编译器将在文件之间对未知变量引用失败。[laulaz]
添加西班牙语翻译。[macagua]
添加有关i18n的更多改进。[macagua]
为i18ndude添加Bash脚本。[macagua]
1.3 (2014-07-02)
更新到nodejs v0.10.29。[seppeljordan]
重构服务器端编译,现在应该可以使用已注册的LESS资源。[seppeljordan]
1.2 (2014-03-19)
更新到lessjs 1.7.0。[jaroel]
1.1 (2014-03-11)
更新nodejs到版本0.10.26。[seppeljordan]
更新less.js版本到1.6.3。[jaroel]
1.0b2 (2012-04-14)
修复pypi分发。[sneridagh]
1.0b1 (2012-04-13)
从CSSRegistry继承portal_less。[sneridagh]
导入/导出GS配置文件。[sneridagh]
添加一个视图,用于包含less文件。[sneridagh]
在portal_javascripts中注册less.js。[sneridagh]
提供全局配置,包括服务器端/客户端转换。[sneridagh]
提供文档化的buildout以安装nodejs以在服务器端编译文件。[sneridagh]
使用memoize使缓存结果。[sneridagh]
使用Twitter的bootstrap源进行测试。[sneridagh]
项目详情
collective.lesscss-2.0.3.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | beb76d5ad3df0064b1a32a8c224ee1cc103f299189a77ed5322ab693a1185f5e |
|
MD5 | 96a9aa204d6348f5d8cb2a00474455b1 |
|
BLAKE2b-256 | b2e3f1b6b71cc2dcdced219f9fe95c8ddacfdf99dbf9d2f4614918674ecdb052 |