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