為何捐款
API 瀏覽器
Icon Genie 設定檔

如果您需要自動化建立所有應用程式的圖示和啟動畫面,Icon Genie 提供了可以批次執行的設定檔。

這些設定檔稱為「設定檔」。檔案為 JSON 格式,並告知 Icon Genie 要產生哪些圖片以及如何產生。它們還可以讓您不必記住整套 Icon Genie 命令和參數來產生您的素材。

檔案結構

JSON 設定檔的通用格式為

{
  "params": { },
  "assets": [ ]
}

我們將在接下來的章節中討論每個部分。

參數

JSON 設定檔中的 params 物件採用與 generate 命令參數相同的 prop 名稱(但使用 camelCase 而不是 CLI 的 kebab-case)。有一個主要的區別:您將使用 include(例如:[ “spa”, “pwa” ], [ “all” ])而不是使用 mode(例如:“spa,pwa”、“all”)。

您可以為 params 物件寫入的完整 prop 列表

Prop 名稱類型描述範例
include陣列包含 Icon Genie 針對特定 Quasar 模式的硬編碼素材集[ "spa", "pwa" ] / [ "all" ]
icon字串圖示來源檔案的路徑;可以是絕對路徑或相對於 Quasar 專案資料夾根目錄的路徑my-icon.png
background字串可選背景來源檔案的路徑 (用於啟動畫面);可以是絕對路徑或相對於 Quasar 專案資料夾根目錄的路徑my-bg.png
filter字串可選地透過產生器篩選素材;使用時,它可以只產生一種素材類型,而不是全部ico
quality數字 [1-12]產生檔案的品質;品質越高意味著檔案大小越大、速度越慢;品質越低意味著檔案大小越小、速度越快12
padding陣列 [數字](v2.1+) 修剪圖示影像後,對其套用固定邊距;語法:[ <水平像素>, <垂直像素> ];預設值為:[0, 0][10, 0] / [5,5]
skipTrim布林值(v2.2+) 不要修剪圖示來源檔案
themeColor字串 [十六進位]用於所有需要顏色的產生器的主題顏色;如果也指定了任何產生器顏色,它將被覆蓋ccc / e2b399
pngColor字串 [十六進位]當素材定義中 “background: true” 時 (例如 cordova/capacitor iOS 圖示),用於 png 產生器的背景顏色ccc / e2b399
splashscreenColor字串 [十六進位]用於啟動畫面產生器的背景顏色ccc / e2b399
svgColor字串 [十六進位]用於產生的單色 SVG 的顏色ccc / e2b399
splashscreenIconRatio數字 [0-100]圖示大小相對於產生的啟動畫面寬度或高度 (取較小者) 的比例;代表百分比;0 表示它不會在背景頂部添加圖示40

素材

assets 陣列可以包含 額外素材 的自訂定義,以應對您可能的需求。當 Icon Genie 針對每種模式的預設列表不足以滿足您的使用案例時,可以使用此功能。如果您未在 params 中指定 include 屬性,則只能產生您的自訂素材。

在 99% 的情況下,您不需要指定 assets 陣列,但 Icon Genie 的設計非常靈活,因此它也包含此功能。

一些 assets 的範例,您可以從中提取 Icon Genie 可以產生的每種可能素材類型的語法

"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"
  }
]

Bootstrap 配置文件

Icon Genie 還提供了 profile 命令,可以為您 bootstrap JSON 配置文件。它可以幫助您建立一個或多個此類檔案,然後您可以透過 generate 命令 搭配 --profile 參數 (或簡寫 -p) 批量執行這些檔案。

最方便的使用案例是將多個配置文件產生到一個特定資料夾中,每個文件都有自己的參數,然後透過 $ icongenie generate -p /path/to/folder 執行所有這些文件。