Icon Genie 配置文件
如果您需要自动创建应用程序的图标和启动页图片,Icon Genie 提供了用于批量运行的配置文件。
这些配置文件被称为“profile files”。它们是 JSON 格式的,告诉 Icon Genie 要生成哪些图像以及如何生成它们。您就可以不用记忆 Icon Genie CLI 的命令和参数了。
文件结构
JSON 配置文件的一般形式是:
{
"params": { },
"assets": [ ]
}
我们将在下一节中逐一讨论。
参数
JSON 配置文件中的 params 对象与 generate 命令参数使用相同的名称(但使用驼峰式大小写,而不是 CLI 的 kebab-case)。有一个关键的区别:不是使用 mode(例如 “spa,pwa”,“all”),而是使用 include(例如 [“spa”,“pwa”],[“all”])。
params 对象的选项列表:
| 选项名称 | 数据类型 | 说明 | 举例 |
|---|---|---|---|
| include | Array | Icon Genie 给哪些 Quasar 模式生成图标? | [ "spa", "pwa" ] / [ "all" ] |
| icon | String | 图标的源文件路径;可以是绝对路径,也可以相对于 Quasar 项目的根文件夹 | my-icon.png |
| background | String | 可选,背景源文件的路径(用于启动页图片); 可以是绝对路径,或相对于类星体项目的根文件夹的路径 | my-bg.png |
| filter | String | 可选,过滤资源文件;在使用时,它只能生成一种类型的资源文件,而不是所有类型 | ico |
| quality | Number [1-12] | 生成文件的质量;质量越高,文件越大,速度越慢;较低的质量意味着更小的文件,更快的速度 | 12 |
| padding | Array [Number] | (v2.1+) 裁剪完图标图片后,添加内边距;语法: [ <水平像素>, <竖直像素> ];默认是: [0, 0] | [10, 0] / [5,5] |
| skipTrim | Boolean | (v2.2+) 不要裁剪图片。 | |
| themeColor | String [hex] | 为所有需要颜色的生成器使用的默认主题颜色;如果生成器指定了颜色,就会覆盖这个默认值。 | ccc / e2b399 |
| pngColor | String [hex] | 当资源文件定义了 “Background: true”时,png 生成器使用的背景颜色(类似于 cordova/capacitor iOS 图标) | ccc / e2b399 |
| splashscreenColor | String [hex] | 启动页图片的背景颜色。 | ccc / e2b399 |
| svgColor | String [hex] | 单色 SVG 图片的颜色。 | ccc / e2b399 |
| splashscreenIconRatio | Number [0-100] | 图标大小相对于生成的启动页图片的宽度或高度(以较小的那个为准)的比率;数字是百分比;0 表示不会添加背景顶部的图标 | 40 |
Assets
如果您需要,assets 数组可以包含自定义的 额外资源 。当 Icon Genie 的每个模式的默认列表不足以满足您的需要时,可以使用此方法。如果您没有在 params 中指定 include 属性,您只能生成自定义资源文件。
在 99% 的情况下,您不需要指定 assets 数组,但是 Icon Genie 被设计得非常灵活,所以它也包含了这个功能。
一些示例,示范了每种 assets 类型的语法:
"assets": [
{
"generator": "png",
"name": "icon-{size}x{size}.png",
"folder": "src-bex/icons",
"sizes": [ 16, 48, 128 ]
},
{
"generator": "svg",
"name": "safari-pinned-tab.svg",
"folder": "public/icons"
},
{
"generator": "splashscreen",
"name": "apple-launch-{size}.png",
"folder": "public/icons",
"sizes": [
[ 1668, 2388 ]
],
"tag": "<link rel=\"apple-touch-startup-image\" media=\"(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2)\" href=\"icons/{name}\">"
},
{
"generator": "icns",
"name": "icon.icns",
"folder": "src-electron/icons"
},
{
"generator": "ico",
"name": "icon.ico",
"folder": "src-electron/icons"
},
{
"generator": "splashscreen",
"name": "Default-Landscape-2436h.png",
"folder": "src-cordova/res/screen/ios",
"sizes": [
[ 2436, 1125 ]
]
},
{
"generator": "png",
"name": "icon-29@2x.png",
"folder": "src-cordova/res/ios",
"sizes": [ 58 ],
"platform": "cordova-ios",
"background": true
},
{
"generator": "png",
"name": "icon-29@2x.png",
"folder": "src-cordova/res/ios",
"sizes": [ 58 ],
"platform": "cordova-ios",
"background": true
},
{
"generator": "png",
"name": "xxxhdpi.png",
"folder": "src-cordova/res/android",
"sizes": [ 192 ],
"platform": "cordova-android",
"density": "xxxhdpi"
},
{
"generator": "splashscreen",
"name": "Default@2x~ipad~comany.png",
"folder": "src-cordova/res/screen/ios",
"sizes": [
[ 1278, 2732 ]
],
"platform": "cordova-ios"
},
{
"generator": "splashscreen",
"name": "splash-land-xxxhdpi.png",
"folder": "src-cordova/res/screen/android",
"sizes": [
[ 1920, 1280 ]
],
"platform": "cordova-android",
"density": "land-xxxhdpi"
}
]
自动制作配置文件
Icon Genie 还提供了 profile 命令,它可以为您生成 JSON 配置文件。它可以帮助您创建一个或多个这样的文件,然后您可以通过带有 --profile 参数(或简短的 -p)的 generate 命令 批量运行这些文件。
最方便的例子是在一个特定的文件夹中生成多个配置文件,每个文件都有自己的参数,然后通过 $ icongenie generate -p /path/to/folder 运行所有文件。