HUGO
Menu
GitHub 87548 stars Mastodon

Hugo Pipes

Hugo Pipes 是 Hugo 的資源處理函數集。

在 assets 中查找資源

這是關於全局和遠程資源的內容。

全局資源
assets 目錄內的文件,或 掛載assets 目錄的任何目錄內的文件。
遠程資源
遠程服務器上的文件,可通過 HTTP 或 HTTPS 訪問。

對於 .Page 作用域的資源,請參閱 頁面資源 部分。

獲取資源

為了使用 Hugo Pipes 處理資源,必須將其檢索為資源。

對於全局資源,使用:

對於遠程資源,使用:

有關 resources 包的所有模板函數的最新概述,請參閱 GoDoc 頁面

復制資源

請參閱 resources.Copy 函數。

資源目錄

資源文件必須存儲在資源目錄中。默認情況下是 assets,但可以通過配置文件的 assetDir 鍵進行配置。

資源發布

當您調用 .Permalink.RelPermalink.Publish 時,Hugo 將資源發布到 publishDir(通常是 public)。您可以使用 .Content 來內聯資源。

Go Pipes

為了提高可讀性,本文檔的 Hugo Pipes 示例將使用 Go Pipes 編寫:

{{ $style := resources.Get "sass/main.scss" | css.Sass | resources.Minify | resources.Fingerprint }}
<link rel="stylesheet" href="{{ $style.Permalink }}">

緩存

Hugo Pipes 調用基於整個 pipe 鏈 進行緩存。

pipe 鏈的示例:

{{ $mainJs := resources.Get "js/main.js" | js.Build "main.js" | minify | fingerprint }}

pipe 鏈僅在站點構建中首次遇到時調用,否則結果從緩存加載。因此,Hugo Pipes 可以在執行數千或數百萬次的模板中使用,而不會對構建性能產生負面影響。


Last updated: January 1, 0001
Improve this page