css.TailwindCSS
New in v0.128.0
先決條件
要使用此功能,必須安裝 Tailwind CSS CLI v4.0 或更高版本。您可以將 CLI 作為 npm 套件安裝,或作為獨立可執行文件安裝。詳細資訊請參見 Tailwind CSS 文檔。
選項
- minify
- (
bool
) 是否優化並縮小輸出的檔案。預設為false
。 - optimize
- (
bool
) 是否在不縮小檔案的情況下優化輸出。預設為false
。 - inlineImports
- (
bool
) 是否啟用@import
語句的內聯處理。內聯處理是遞歸進行的,但目前每個檔案只進行一次。無法在不同範圍(根目錄、媒體查詢等)中導入相同的檔案。請注意,這個導入程式不考慮 CSS 規範,因此您可以在檔案中的任何位置包含@import
語句。預設為false
。 - skipInlineImportsNotFound
- (
bool
) 當啟用inlineImports
時,如果無法解析@import
,則建構過程會失敗。啟用此選項可以讓建構繼續並保留原始的@import
語句。請注意,內聯導入程式不會處理 URL 位置或帶有媒體查詢的導入,因此即使不啟用此選項,這些也會保持原狀。預設為false
。
範例
在網站配置中定義一個 cache buster:
hugo.
build:
cachebusters:
- source: layouts/.*
target: css
[build]
[[build.cachebusters]]
source = 'layouts/.*'
target = 'css'
{
"build": {
"cachebusters": [
{
"source": "layouts/.*",
"target": "css"
}
]
}
}
處理資源:
{{ with resources.Get "css/main.css" }}
{{ $opts := dict "minify" true }}
{{ with . | css.TailwindCSS $opts }}
{{ if hugo.IsDevelopment }}
<link rel="stylesheet" href="{{ .RelPermalink }}">
{{ else }}
{{ with . | fingerprint }}
<link rel="stylesheet" href="{{ .RelPermalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous">
{{ end }}
{{ end }}
{{ end }}
{{ end }}
上面的範例將處理並將縮小後的 CSS 檔案發佈至 public/css/main.css
。
有關 Tailwind CSS v4.0 整合的更多資訊,請參見 此資料庫。