跳转到主要内容

ftw.logo

项目描述

简介

Plone扩展,提供智能logo处理。基于svg Logo或图标,扩展可以生成所有类型的缩放,如apple touch图标或android PWA logo。

兼容性

Plone 4.3.x Plone 5.1.x

先决条件

wand.py 依赖项

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

开发

  1. Fork此仓库

  2. 克隆您的Fork

  3. Shell: ln -s development.cfg buildout.cfg

  4. Shell: python bootstrap.py

  5. Shell: bin/buildout

运行bin/test来测试您的更改。

或者通过运行bin/instance fg来启动实例。

缩放

基本上,这里只有标志和图标的比例。标志比例通常用于左上角,可以具有任何尺寸。转换器从必须为svg文件的基标志创建logomobile_logo。图标比例用于apple_touch_iconsfaviconsandroid 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的自定义图标和标志指令。这两个指令都接受forlayerbase属性。base属性定义所有比例的svg源文件。多适配器适配上下文和请求。因此,可以使用forlayer之一或两者来覆盖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" />

还可以为logomobilefavicon定义预缩放图像。

<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值,以便视图被正确缓存。

变更日志

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 (45.9 kB 查看散列值)

上传时间

支持