OriaTheme
GitHub

對於應用程式開發人員

從 v1 遷移

oria-standard@2 是預設且唯一的標準合約:註冊明確遷移,檢查幾何舍入,並讓 Bootstrap 拒絕過時的快照。

預設合約已切換

自 core 0.3.0 起,在沒有合約的情況下呼叫 Core/Runtime API 會解析 oria-standard@2:134 個來源令牌、小寫短橫線大小寫的 CSS 變數和宣告的衍生變數。 v1 僅保留為移轉輸入的舊匯出(oriaStandardContractV1、oriaDefaultThemeV1、migrateOriaStandardV1ToV2)。官方預設是本機 v2,ID 未更改。 v1 駝峰式變數(例如 --oria-color-background、--oria-typography-size-md、--oria-spacing-4)不再發出;將您自己的樣式更新為 v2 名稱 (--oria-color-bg、--oria-text-md、calc(var(ZXZ)。

明確註冊遷移器

如果您的使用者可能擁有 v1 自訂主題(儲存或匯出的 JSON),請在執行時間設定中註冊遷移器。然後,持久的 v1 主題將被遷移、完全驗證、原子應用,並在首次啟動時寫回;如果不註冊,v1 資料將被整體拒絕,並且在發布期間保持不變。

ts
import { migrateOriaStandardV1ToV2 } from "@oriatheme/core";
import { oriaPresetThemes } from "@oriatheme/presets";

createOriaThemeRuntime({
  presets: oriaPresetThemes,
  defaultThemeId: "oria-default",
  migrations: [migrateOriaStandardV1ToV2],
});

requireReview 流程

v2 僅保留兩個幾何來源,空間和半徑:半徑是固定倍數,控制項大小是從 1 到 24 的空間整數倍。無法精確表示的 v1 值會捕捉到最接近的合法值並發出每個欄位的警告;只要有任何警告,requiresReview 就會為 true。 Core 的 importTheme 回傳警告並 requireReview,以便用戶可以在保存之前預覽和確認;運行時的 importTheme 自動應用已註冊的遷移,但不帶有警告。

Bootstrap 拒絕過時的快照

將 v2 合約傳遞給 bootstrapTheme 或 createBootstrapStorageScript 可以安全地拒絕 v1 時代的活動快照,保留靜態預設值 CSS,直到執行時套用 v2 主題並寫入新快照。如果沒有聲明,則不會執行此類檢查。

繼續:運行時配置