網站導覽

指令

掃描

納入或排除原始檔與特定 class 名稱。

本頁目錄

檔案政策決定從哪裡讀取候選項;候選政策決定哪些完整 class 字串仍可使用。這些指令不會改變剖析器,也不會將任意來源文字轉成有效 utility。設定與疑難排解請見掃描 class 名稱,支援的來源語法與生命週期請見擷取。

檔案選擇與候選選擇是不同篩選

排除 draft.html 會阻止其 flex 候選項進入此來源範圍。封鎖 hidden 是在收集後移除候選;安全清單的 block 則加入明確候選。

文字說明
  1. @source 納入 HTML 檔案,@source not 排除 draft.html。只有 main.html 提供 grid 與 hidden class 字串。
  2. @safelist "block" 不依賴來源檔案,直接加入完整候選項。
  3. @blocklist "hidden" 移除該候選項。可用集合最後為 grid 與 block;flex 從未進入此範圍。
  4. 檔案與候選政策彼此分開。具備候選資格不代表任意 class 字串都有效;一般比對與診斷仍會套用。

@source

一般應用程式來源使用整合與 CLI 的預設探索方式。需要時再加入明確例外:

@source "../content/**/*.mdx";

@source not

從來源集合排除符合的檔案:

@source not "../content/drafts/**";

{a,b} 這類大括號群組會展開為各別模式;單一模式最多包含 64 組大括號,且最多展開為 1,024 個模式。

所有納入項先取聯集,再扣除所有排除項。每個相對模式都以宣告它的樣式表為基準解析,包含裸 src/**、./src/**、匯入檔案與 @source not。參照不會提供掃描來源。

解析檔案的 API 必須提供宣告檔案或明確的基準檔案。僅檢查來源指令的操作可回傳未解析中繼資料,但不得自行虛構檔案系統基準。掃描器程式 API 的 cwd 選項,對直接透過該 API 傳入的掃描選項維持既有意義。

@safelist

加入無法以字面形式出現在掃描來源中的完整 class 候選項:

@safelist "(opacity:1)";@safelist "bg-blue-60@dark";

候選項採用與探索到的 class 相同的比對與診斷政策。請讓動態選項保持有限且明確。

若要保留具名動畫定義,又不生成 class 或動畫宣告,請使用明確的 keyframes 目標:

@safelist keyframes "fade" "pop";

每個引號字串是一個完整 CSS 動畫名稱。名稱區分大小寫並支援 CSS 跳脫;字串內的空白是名稱的一部分。不會展開萬用字元或分割 class。缺少名稱、未加引號的名稱、逗號與巢狀安全清單指令都會造成錯誤。名稱若不存在於完整匯入/參照圖,會產生警告。安全清單在各入口圖內合併,並在來源或指令移除時撤回。@reference 不會匯入安全清單根節點。沒有關鍵影格封鎖清單,也沒有獨立的關鍵影格修剪/保留目標。

@blocklist

使用完整字串,或 *、? 萬用字元模式,移除不需要的完整候選項:

@blocklist "debug-*";@blocklist "example-token";

樣式表語法不會將斜線包住的模式解讀為正規表示式。萬用字元政策屬於封鎖清單;安全清單提供的是完整 class。