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 对象的选项列表:

选项名称数据类型说明举例
includeArrayIcon Genie 给哪些 Quasar 模式生成图标?[ "spa", "pwa" ] / [ "all" ]
iconString图标的源文件路径;可以是绝对路径,也可以相对于 Quasar 项目的根文件夹my-icon.png
backgroundString可选,背景源文件的路径(用于启动页图片); 可以是绝对路径,或相对于类星体项目的根文件夹的路径my-bg.png
filterString可选,过滤资源文件;在使用时,它只能生成一种类型的资源文件,而不是所有类型ico
qualityNumber [1-12]生成文件的质量;质量越高,文件越大,速度越慢;较低的质量意味着更小的文件,更快的速度12
paddingArray [Number](v2.1+) 裁剪完图标图片后,添加内边距;语法: [ <水平像素>, <竖直像素> ];默认是: [0, 0][10, 0] / [5,5]
skipTrimBoolean(v2.2+) 不要裁剪图片。
themeColorString [hex]为所有需要颜色的生成器使用的默认主题颜色;如果生成器指定了颜色,就会覆盖这个默认值。ccc / e2b399
pngColorString [hex]当资源文件定义了 “Background: true”时,png 生成器使用的背景颜色(类似于 cordova/capacitor iOS 图标)ccc / e2b399
splashscreenColorString [hex]启动页图片的背景颜色。ccc / e2b399
svgColorString [hex]单色 SVG 图片的颜色。ccc / e2b399
splashscreenIconRatioNumber [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 运行所有文件。