Skip to main content

ftw.logo

项目描述

<nav class="contents" id="table-of-contents" role="doc-toc">

目录

</nav>

介绍

提供智能徽标处理的克隆扩展。基于 svg 徽标或图标,扩展能够生成各种比例,例如苹果触摸图标或 android PWA 徽标。

兼容性

克隆 4.3.x 克隆 5.1.x

先决条件

查看wand.py 依赖项

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

发展

  1. 分叉这个回购

  2. 克隆你的叉子

  3. 外壳:ln -s development.cfg buildout.cfg

  4. 外壳:python bootstrap.py

  5. 外壳:bin/buildout

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

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

基本上只有徽标和图标刻度。徽标刻度主要用于左上角,可以有任何尺寸。转换器从必须是 svg 文件的基本徽标创建徽标mobile_logo 。图标比例用于apple_touch_iconsfaviconsandroid 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 引入了自定义图标和徽标指令。两个指令都接受forlayerbase属性。base 属性定义了所有比例的 svg 源文件。多适配器适应上下文和请求。因此,可以使用forlayer之一或两者来覆盖 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> />

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

<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。

变更日志

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 支持。[忙碌考拉]

  • 初步实施。

下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

ftw.logo-1.0.5.tar.gz (45.9 kB 查看哈希

已上传 source