ftw.logo
项目描述
目录
介绍
提供智能徽标处理的克隆扩展。基于 svg 徽标或图标,扩展能够生成各种比例,例如苹果触摸图标或 android PWA 徽标。
兼容性
克隆 4.3.x 克隆 5.1.x
先决条件
OSX(高山脉)
对开发人员来说有两个重要的点。
如果您在将某些 svg 转换为 png 时遇到问题,例如获取全透明 PNG。使用 librsvg 安装 imagemagick。也不要安装 imagemagick 版本 7。不会工作。
brew install imagemagick@6
brew link imagemagick@6 --force
还要确保/usr/local/opt/imagemagick@6/bin在 PATH
安装
将包添加到您的构建配置中:
[instance]
eggs +=
...
ftw.logo
发展
分叉这个回购
克隆你的叉子
外壳:ln -s development.cfg buildout.cfg
外壳:python bootstrap.py
外壳:bin/buildout
运行bin/test以测试您的更改。
或者通过运行bin/instance fg来启动一个实例。
秤
基本上只有徽标和图标刻度。徽标刻度主要用于左上角,可以有任何尺寸。转换器从必须是 svg 文件的基本徽标创建徽标和mobile_logo 。图标比例用于apple_touch_icons、favicons或android PWA 图标。基本图标必须是方形的,缩放图标当然也是方形的。总之,我们需要两个不同的 SVG 源文件。一个具有任意比率,另一个具有平方比率。
所有比例均取自https://realfavicongenerator.net/。
可用的尺度是:
- 标志
标识
MOBILE_LOGO
根据
get_logo(虚拟)
- 图标
APPLE_TOUCH_ICON
FAVICON_32X32
FAVICON_16X16
MSTILE_150X150
ANDROID_192X192
ANDROID_512X512
网站图标
根据
“get_logo”量表
get_logo 虚拟比例返回 BASE(来自 ZCML 的 svg),或者如果可用,则返回来自 Dexterity 内容类型的覆盖的 BASE 或 LOGO 比例。
转换器
转换器保存所有比例定义,因此能够生成所需的比例。wand.py用于将 svg 源文件转换为不同的比例。转换器生成修改后的wand.py 图像代理,该代理能够返回代理后面的实际比例 blob。有关转换器如何使用wand.py 的更多信息,请参阅写入图像和 调整大小和裁剪部分。
ZCML
该扩展为 zcml 引入了自定义图标和徽标指令。两个指令都接受for、layer和base属性。base 属性定义了所有比例的 svg 源文件。多适配器适应上下文和请求。因此,可以使用for和layer之一或两者来覆盖 svg 源文件。
首先包括指令:
<configure
...
xmlns:logo=<s>"https://namespaces.4teamwork.ch/ftw.logo"</s>
...
>
例子:
<logo:logo base=<s>"logo.svg"</s> />
下一个块将覆盖以前的配置。
<logo:logo base=<s>"custom_logo.svg"</s> layer=<s>"your.product.interfaces.IYourProductLayer"</s> />
也可以为logo、mobile和favicon定义预缩放图像。
<logo:logo base=<s>"resources/min.svg"</s>
logo=<s>"tests/fixtures/logo.png"</s>
mobile=<s>"mobile.png"</s>
primary_logo_scale=<s>"logo"</s> />
<logo:icon base=<s>"icon.svg"</s> favicon=<s>"favicon.ico"</s> />
请记住无论如何都需要基本的svg。如果你不能提供一个,只需放入一个透明的空 svg。如果你没有,你可以使用这个包中的一个,它位于资源文件夹中。它被称为 min.svg。还要将 primary_logo_scale 设置为“logo”,因为 ftw.logo 总是更喜欢 svg 而不是所有其他比例。
通过 zcml 更改徽标和移动比例的默认高度:
<logo:logo base=<s>"resources/min.svg"</s>
height=<s>"200"</s>
mobile_height=<s>"30"</s> />
徽标视图
所有徽标和图标都可以通过徽标浏览器视图访问。URL 由浏览器视图名称@@logo后跟图像类型和实际比例组成。
例子:
@@logo/logo/BASE 将显示 svg 徽标源。
@@logo/icon/APPLE_TOUCH_ICON 将苹果触摸图标显示为 png 图像。
缓存
通过向每个徽标请求添加查询字符串参数来提供缓存。缓存键由包含文件二进制数据的 sha256 散列组成。如果您启用了 plone.app.caching,请从 ftw.logo安装缓存配置文件。这将定义 etag 值,以便正确缓存 viewlet。
链接
皮皮: http ://pypi.python.org/pypi/ftw.logo
版权
这个包是4teamwork的版权。
ftw.logo根据 GNU 通用公共许可证第 2 版获得许可。
变更日志
1.0.5 (2020-07-30)
修复 logoconfig 移动实例变量名称以匹配移动徽标比例名称。[mathias.leimgruber]
1.0.4 (2020-01-09)
将 ftw.logo portal_type 翻译添加到 plone 域。[廷纳伯]
1.0.3 (2019-12-09)
修复用户操作权限。[mathias.leimgruber]
使用同一文件两次修复测试。[忙碌考拉]
1.0.2 (2019-07-05)
使用默认配置的工作流程。[忙碌考拉]
1.0.1 (2019-06-21)
删除文件名中的换行符。[忙碌考拉]
1.0.0 (2019-06-20)
添加克隆 5.1 支持。[忙碌考拉]
初步实施。