从SVG图标生成精灵
项目描述
© 2014 Thomas Khyn
Python包,用于从SVG图标生成精灵
此包受到了Joschi Kuphal的Iconizr和grunt-iconizr的启发。
根据Joschi的话,Iconizr …
... takes a folder of SVG images and creates a CSS icon kit out of them. Depending on the client's capabilities, icons are served as SVG / PNG sprite or embedded data URIs. iconizr creates suitable CSS / Sass / LESS etc. resources and a JavaScript loader for easy integration into your HTML documents.
尚未实现原始Iconizr的所有功能,但大部分都已在此实现。
在Python 2.6和2.7上运行。
安装
使用pip安装,非常简单
pip install pyconizr
需求
Pyconizr将安装所有必需的依赖项,除了Cairo和librsvg以及它们的Python绑定,这些绑定用于生成PNG图像。如果您想使用pyconizr的PNG功能,请确保它们已安装在您的环境中。
如果您使用的是Windows,安装它们的最快方式是使用PyGTK(适用于Python 2.6和2.7)或PyGI(适用于Python 2.7)。
使用方法
从命令行
pyconizr [options]
从Python
from pyconizr import iconize iconize(option1=val1, option2=val2, ...)
默认行为
- 默认情况下,pyconizr将
使用scour优化当前工作目录中的每个SVG文件(不覆盖它们)
将它们连接起来,在当前工作目录/sprites/sourcedir_name.svg中创建一个优化的SVG精灵
从SVG精灵创建PNG精灵,为当前工作目录/sprites/sourcedir_name.png
在当前工作目录/sourcedir_name下创建一个CSS/SCSS/什么的文件
这可以通过以下选项进行配置。
选项
所有选项都应该在命令行中以--前缀(如果不使用快捷方式),或者应该作为iconize函数的关键字参数提供。
- in, -i
用于生成精灵图的输入目录或文件(作为通配符)。只有有效的SVG文件将被考虑,因此没有必要添加*.svg通配符(“dir/*”只会包括dir中的*.svg文件)。默认为当前工作目录。
- out, -o
生成输出文件的输出路径(CSS,SASS等)。如果该目录不存在,将会创建它。默认为当前工作目录下的‘out’目录。
- out-sprite, -s
SVG和PNG精灵图的输出路径。如果该目录不存在,将会创建它。默认为输出目录下的‘sprites’目录。
- out-icons
优化后的SVG和栅格化PNG单个图标的输出路径。如果为空,则不会生成图标。如果已定义,将生成一个带有‘-icons’后缀的辅助输出文件。默认为空白(不生成图标)。
- render, -r
- 输出应该如何渲染。可以是
css: 用于CSS输出[默认]
scss: 用于SASS输出
no或python中的Falsy:不输出(仅生成精灵图)
自定义Jinja2模板文件的路径,用于100%自定义输出(查看现有模板以获取可用变量)
- static-url
静态目录的绝对URL。用于从生成的输出中链接到精灵图和图标文件。默认为/static
- sprites-url
精灵目录的绝对或相对(相对于static-url)URL。用于链接到精灵文件。默认为sprites
- icons-url
图标目录的绝对或相对(相对于static-url)URL。用于链接到单个图标。如果不定义out-icons,则不使用。默认为icons
- padding
图标周围的填充,以像素为单位。默认为0。
- layout
精灵图布局。可以是垂直、水平或对角线。默认为vertical。
- png/nopng
默认情况下,将生成png回退。当使用iconize函数时,使用png=False来禁用此行为。在命令行中使用--nopng。默认为True
- data
是否应将SVG和PNG图像链接为dataURIs?请记住,如果CSS不使用dataURIs,页面加载速度会更快(感谢缓存与dataURI解码)。默认为False
- class
精灵图中所有图标的公共CSS类。默认为None。
- selectors
逗号分隔的可以选择嵌入到图标文件名中的选择器,使用_分隔符。例如,一个名为_filename_hover.svg的文件将被视为图标名的悬停版本。默认为hover,target,active
- unit
用于background-position属性的单元。仅适用于px和%。默认为px
- scour-*
所有使用‘scour-’前缀的scour选项。例如,‘strip-xml-prolog’变为‘scour-strip-xml-prolog’。默认为生成精灵图的最佳优化参数。
为scour参数添加了2个命令行选项
scour-disable-comment-stripping
Pyconizr默认启用注释剥离功能。当使用iconize函数时,使用enable_comment_stripping=False来禁用此功能。从命令行需要使用--scour-disable-comment-stripping
scour-verbose
Pyconizr默认以安静模式运行scour。如果您需要查看scour的非错误输出,请在iconize函数中使用quiet=False,或从命令行使用--scour-verbose。
项目详情
pyconizr-0.1b2.zip的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8365674b87e3b33ad9898f22ff61f6dc357ca0d4d18a477adff1e3359d7950c5 |
|
MD5 | 1990f7c63ade36a29cd3c3324006d17b |
|
BLAKE2b-256 | 33c0d73086b72b734ed2ad9eebf47645733263b2262d70a474f331c60470dbee |