ftw.logo
项目描述
简介
Plone扩展,提供智能logo处理。基于svg Logo或图标,扩展可以生成所有类型的缩放,如apple touch图标或android PWA logo。
兼容性
Plone 4.3.x Plone 5.1.x
先决条件
OSX (High Sierra)
对于开发者有两个重要点。
如果您在将某些svg转换为png时遇到问题,例如获得一个完全透明的PNG,请安装带有librsvg的imagemagick。同时不要安装imagemagick版本7。它将不会工作。
brew install imagemagick@6
brew link imagemagick@6 --force
请确保/usr/local/opt/imagemagick@6/bin在PATH中
安装
将包添加到您的buildout配置中
[instance]
eggs +=
...
ftw.logo
开发
Fork此仓库
克隆您的Fork
Shell: ln -s development.cfg buildout.cfg
Shell: python bootstrap.py
Shell: bin/buildout
运行bin/test来测试您的更改。
或者通过运行bin/instance fg来启动实例。
缩放
基本上,这里只有标志和图标的比例。标志比例通常用于左上角,可以具有任何尺寸。转换器从必须为svg文件的基标志创建logo和mobile_logo。图标比例用于apple_touch_icons、favicons或android PWA icons。基本图标必须是正方形,缩放后的图标也将是正方形。总之,我们需要两个不同的SVG源文件。一个具有任意比例,另一个具有正方形比例。
所有比例均来自https://realfavicongenerator.net/。
可用的比例有
- LOGOS
LOGO
MOBILE_LOGO
BASE
get_logo (虚拟)
- ICONS
APPLE_TOUCH_ICON
FAVICON_32X32
FAVICON_16X16
MSTILE_150X150
ANDROID_192X192
ANDROID_512X512
FAVICON
BASE
“get_logo” 缩放
get_logo虚拟比例返回BASE(来自ZCML的svg)或可用的覆盖BASE或LOGO比例从Dexterity内容类型。
转换器
转换器保留所有比例定义,因此能够生成所需的比例。wand.py用于将svg源文件转换为不同的比例。转换器生成一个修改后的wand.py图像代理,该代理能够返回代理后面的实际比例的blob。有关转换器如何使用wand.py的更多信息,请参阅写入图像和调整大小和裁剪部分。
ZCML
此扩展引入了zcml的自定义图标和标志指令。这两个指令都接受for、layer和base属性。base属性定义所有比例的svg源文件。多适配器适配上下文和请求。因此,可以使用for和layer之一或两者来覆盖svg源文件。
首先包含指令
<configure
...
xmlns:logo="https://namespaces.4teamwork.ch/ftw.logo"
...
>
示例
<logo:logo base="logo.svg" />
下一个块将覆盖前面的配置。
<logo:logo base="custom_logo.svg" layer="your.product.interfaces.IYourProductLayer" />
还可以为logo、mobile和favicon定义预缩放图像。
<logo:logo base="resources/min.svg"
logo="tests/fixtures/logo.png"
mobile="mobile.png"
primary_logo_scale="logo" />
<logo:icon base="icon.svg" favicon="favicon.ico" />
请记住,仍然需要一个基础svg。如果您无法提供,只需放入一个透明的空svg。如果您没有,可以使用本包中的,位于资源文件夹中。它被称为min.svg。还设置primary_logo_scale为“logo”,因为ftw.logo始终首选svg比例。
通过zcml更改标志和移动比例的默认高度
<logo:logo base="resources/min.svg"
height="200"
mobile_height="30" />
Logo视图
所有标志和图标都可以通过标志浏览器视图访问。URL由浏览器视图名称@@logo后跟图像类型和实际比例组成。
示例
@@logo/logo/BASE将显示svg标志源。
@@logo/icon/APPLE_TOUCH_ICON将显示apple touch图标作为png图像。
缓存
通过向每个标志请求添加查询字符串参数来提供缓存。cachekey包含包括文件二进制数据的sha256哈希。如果您已启用plone.app.caching,则从ftw.logo安装caching配置文件。这将定义etag值,以便视图被正确缓存。
链接
版权
本软件包的版权属于4teamwork。
ftw.logo许可协议为GNU通用公共许可证,版本2。
变更日志
1.0.5 (2020-07-30)
将logoconfig移动实例变量名修正为与移动logo缩放名称匹配。[mathias.leimgruber]
1.0.4 (2020-01-09)
将ftw.logo portal_type翻译添加到plone域。[tinagerber]
1.0.3 (2019-12-09)
修复用户操作权限。[mathias.leimgruber]
修复使用同一文件两次的测试。[busykoala]
1.0.2 (2019-07-05)
使用默认配置的工作流。[busykoala]
1.0.1 (2019-06-21)
移除文件名中的换行符。[busykoala]
1.0.0 (2019-06-20)
添加对Plone 5.1的支持。[busykoala]
初始实现。
项目详情
ftw.logo-1.0.5.tar.gz的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 7a8d5ba2e9764944bab5b3f06f1d020610af0340d482d38f99ddf7d5fc749e05 |
|
MD5 | 8250f3b2f402dfe4a545804f69026a58 |
|
BLAKE2b-256 | b8122515d21a73ac58a22b01d2b416b9e1f415aede77dbe5bb38b9b10b9bb8de |