如果您需要自動化建立所有應用程式的圖示和啟動畫面,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
執行所有這些文件。