函数
cast
使用这些函数将值从一种数据类型转换为另一种数据类型。
- cast.ToFloat (float)
- 将值转换为十进制浮点数(以 10 为底)。
- cast.ToInt (int)
- 将值转换为十进制整数(以 10 为底)。
- cast.ToString (string)
- 将值转换为字符串。
collections
使用这些函数处理数组、切片、映射和页面集合。
- collections.After (after)
- 将数组切片到第 N 个项目之后的项目。
- collections.Append (append)
- 将一个或多个元素追加到切片中,并返回生成的切片。
- collections.Apply (apply)
- 返回一个新集合,其中每个元素都通过给定函数进行转换。
- collections.Complement (complement)
- 返回最后一个集合中不在任何其他集合中的元素。
- collections.Delimit (delimit)
- 循环遍历任何数组、切片或映射,并返回所有值用分隔符分隔的字符串。
- collections.Dictionary (dict)
- 返回由给定的键值对组成的映射。
- collections.First (first)
- 返回给定的集合,限制为前 N 个元素。
- collections.Group (group)
- 按给定键对给定的页面集合进行分组。
- collections.In (in)
- 报告给定值是否是给定集合的成员。
- collections.Index (index)
- 返回与给定键或键关联的对象、元素或值。
- collections.Intersect (intersect)
- 返回两个数组或切片的公共元素,顺序与第一个数组相同。
- collections.IsSet (isset)
- 报告键是否存在于集合中。
- collections.KeyVals (keyVals)
- 返回 KeyVals 结构体。
- collections.Last (last)
- 返回给定的集合,限制为最后 N 个元素。
- collections.Merge (merge)
- 返回合并两个或多个映射的结果。
- collections.NewScratch (newScratch)
- 返回一个本地作用域的“草稿本”来存储和操作数据。
- collections.Querify (querify)
- 返回由给定的键值对组成的 URL 查询字符串。
- collections.Reverse
- 反转集合的顺序。
- collections.Seq (seq)
- 返回一个整数切片。
- collections.Shuffle (shuffle)
- 返回给定数组或切片的随机排列。
- collections.Slice (slice)
- 返回由给定值组成的切片。
- collections.Sort (sort)
- 对切片、映射和页面集合进行排序。
- collections.SymDiff (symdiff)
- 返回两个集合的对称差。
- collections.Union (union)
- 给定两个数组或切片,返回一个包含属于任一数组/切片或两个数组/切片的元素的新数组。
- collections.Uniq (uniq)
- 返回给定的集合,删除重复元素。
- collections.Where (where)
- 返回给定的集合,删除不满足比较条件的元素。
compare
使用这些函数比较两个或多个值。
- compare.Conditional (cond)
- 根据控制参数的值返回两个参数之一。
- compare.Default (default)
- 如果设置了第二个参数,则返回第二个参数,否则返回第一个参数。
- compare.Eq (eq)
- 返回 arg1 == arg2 || arg1 == arg3 的布尔真值。
- compare.Ge (ge)
- 返回 arg1 >= arg2 && arg1 >= arg3 的布尔真值。
- compare.Gt (gt)
- 返回 arg1 > arg2 && arg1 > arg3 的布尔真值。
- compare.Le (le)
- 返回 arg1 <= arg2 && arg1 <= arg3 的布尔真值。
- compare.Lt (lt)
- 返回 arg1 < arg2 && arg1 < arg3 的布尔真值。
- compare.Ne (ne)
- 返回 arg1 != arg2 && arg1 != arg3 的布尔真值。
crypto
使用这些函数创建加密哈希。
- crypto.FNV32a
- 返回给定字符串的 32 位 FNV(Fowler–Noll–Vo)非加密哈希。
- crypto.HMAC (hmac)
- 返回使用密钥对消息进行签名的加密哈希。
- crypto.MD5 (md5)
- 对给定输入进行哈希处理,并将其 MD5 校验和编码为十六进制字符串。
- crypto.SHA1 (sha1)
- 对给定输入进行哈希处理,并将其 SHA1 校验和编码为十六进制字符串。
- crypto.SHA256 (sha256)
- 对给定输入进行哈希处理,并将其 SHA256 校验和编码为十六进制字符串。
css
使用这些函数处理 CSS 和 Sass 文件。
- css.PostCSS (postCSS)
- 使用任何 PostCSS 插件处理给定的资源。
- css.Sass (toCSS)
- 将 Sass 编译为 CSS。
- css.TailwindCSS
- 使用 Tailwind CSS CLI 处理给定的资源。
data
使用这些函数读取本地或远程数据文件。
- data.GetCSV (getCSV)
- 从本地或远程 CSV 文件返回一个数组数组,如果文件不存在则返回错误。
- data.GetJSON (getJSON)
- 从本地或远程 JSON 文件返回一个 JSON 对象,如果文件不存在则返回错误。
debug
使用这些函数调试您的模板。
- debug.Dump
- 将对象转储返回为字符串。
- debug.Timer
- 创建一个命名计时器,将经过的时间报告到控制台。
diagrams
使用这些函数渲染图表。
- diagrams.Goat
- 将 ASCII 艺术转换为 SVG 图表,返回一个 GoAT 图表对象。
encoding
使用这些函数对数据进行编码和解码。
- encoding.Base64Decode (base64Decode)
- 返回给定内容的 Base64 解码。
- encoding.Base64Encode (base64Encode)
- 返回给定内容的 Base64 解码。
- encoding.Jsonify (jsonify)
- 将给定对象编码为 JSON。
fmt
使用这些函数在模板中打印字符串或将消息打印到终端。
- fmt.Errorf (errorf)
- 从模板记录错误。
- fmt.Erroridf (erroridf)
- 从模板记录可抑制的错误。
- fmt.Print (print)
- 使用标准的
fmt.Print
函数打印给定参数的默认表示形式。 - fmt.Printf (printf)
- 使用标准的
fmt.Sprintf
函数格式化字符串。 - fmt.Println (println)
- 使用标准的
fmt.Print
函数打印给定参数的默认表示形式,并强制换行。 - fmt.Warnf (warnf)
- 从模板记录警告。
- fmt.Warnidf (warnidf)
- 从模板记录可抑制的警告。
global
使用这些全局函数访问页面和站点数据。
go template
这些是 Go 的 text/template 包提供的函数、运算符和语句。
- and
- 返回第一个虚假参数。如果所有参数都为真,则返回最后一个参数。
- block
- 定义一个模板并在适当位置执行它。
- break
- 与 range 语句一起使用,停止最内层迭代并绕过所有剩余迭代。
- continue
- 与 range 语句一起使用,停止最内层迭代并继续下一个迭代。
- define
- 定义一个模板。
- else
- 为 if、with 和 range 语句开始一个备用块。
- end
- 终止 if、with、range、block 和 define 语句。
- if
- 如果表达式为真,则执行该块。
- len
- 返回字符串、切片、映射或集合的长度。
- not
- 返回其单个参数的布尔否定。
- or
- 返回第一个真值参数。如果所有参数都为假,则返回最后一个参数。
- range
- 迭代非空集合,将上下文(点)绑定到连续的元素,并执行该块。
- return
- 在部分模板中使用,终止模板执行并返回给定值(如果有)。
- template
- 执行给定的模板,可以选择传递上下文。
- urlquery
- 以适合嵌入 URL 查询的形式返回其参数的文本表示形式的转义值。
- with
- 将上下文(点)绑定到表达式,如果表达式为真,则执行该块。
hash
使用这些函数创建非加密哈希。
- hash.FNV32a
- 返回给定字符串的 32 位 FNV(Fowler–Noll–Vo)非加密哈希。
- hash.XxHash (xxhash)
- 返回给定字符串的 64 位 xxHash 非加密哈希。
hugo
使用这些函数访问有关 Hugo 应用程序和当前环境的信息。
- hugo.BuildDate
- 返回 Hugo 二进制文件的编译日期。
- hugo.CommitHash
- 返回 Hugo 二进制文件的 Git 提交哈希。
- hugo.Deps
- 返回项目依赖项的切片,包括 Hugo 模块或本地主题组件。
- hugo.Environment
- 返回当前运行的环境。
- hugo.Generator
- 渲染一个 HTML meta 元素,标识生成站点的软件。
- hugo.GoVersion
- 返回用于编译 Hugo 二进制文件的 Go 版本。
- hugo.IsDevelopment
- 报告当前运行环境是否为“开发”环境。
- hugo.IsExtended
- 报告 Hugo 二进制文件是否为扩展版本。
- hugo.IsMultihost
- 报告每个配置的语言是否具有唯一的基 URL。
- hugo.IsMultilingual
- 报告是否配置了两种或多种语言。
- hugo.IsProduction
- 报告当前运行环境是否为“生产”环境。
- hugo.IsServer
- 报告内置开发服务器是否正在运行。
- hugo.Version
- 返回 Hugo 二进制文件的当前版本。
- hugo.WorkingDir
- 返回项目工作目录。
images
使用这些函数创建图像过滤器、将图像过滤器应用于图像以及检索图像信息。
- images.AutoOrient
- 返回一个图像过滤器,根据其 EXIF 方向标记根据需要旋转和翻转图像。
- images.Brightness
- 返回一个图像过滤器,更改图像的亮度。
- images.ColorBalance
- 返回一个图像过滤器,更改图像的色彩平衡。
- images.Colorize
- 返回一个图像过滤器,生成图像的彩色版本。
- images.Config
- 从指定路径(相对于工作目录)的图像返回 image.Config 结构。
- images.Contrast
- 返回一个图像过滤器,更改图像的对比度。
- images.Dither
- 返回一个图像过滤器,抖动图像。
- images.Filter
- 将一个或多个图像过滤器应用于给定的图像资源。
- images.Gamma
- 返回一个图像过滤器,对图像执行伽马校正。
- images.GaussianBlur
- 返回一个图像过滤器,对图像应用高斯模糊。
- images.Grayscale
- 返回一个图像过滤器,生成图像的灰度版本。
- images.Hue
- 返回一个图像过滤器,旋转图像的色调。
- images.Invert
- 返回一个反转图像颜色的图像过滤器。
- images.Opacity
- 返回一个更改图像不透明度的图像过滤器。
- images.Overlay
- 返回一个将源图像叠加到给定坐标(相对于左上角)的图像过滤器。
- images.Padding
- 返回一个调整图像画布大小而不调整图像大小的图像过滤器。
- images.Pixelate
- 返回一个对图像应用像素化效果的图像过滤器。
- images.Process
- 返回一个使用给定规范处理给定图像的图像过滤器。
- images.Saturation
- 返回一个更改图像饱和度的图像过滤器。
- images.Sepia
- 返回一个生成图像的棕褐色版本的图像过滤器。
- images.Sigmoid
- 返回一个使用 S 型函数更改图像对比度的图像过滤器。
- images.Text
- 返回一个向图像添加文本的图像过滤器。
- images.UnsharpMask
- 返回一个锐化图像的图像过滤器。
inflect
这些函数提供单词变化功能,例如英语名词的单数化和复数化。
- inflect.Humanize (humanize)
- 返回输入的规范化版本,第一个字母大写。
- inflect.Pluralize (pluralize)
- 根据一组常见的英语复数化规则将给定单词变为复数。
- inflect.Singularize (singularize)
- 根据一组常见的英语单数化规则将给定单词变为单数。
js
使用这些函数处理 JavaScript 和 TypeScript 文件。
lang
使用这些函数使您的网站适应语言和区域要求。
- lang.FormatAccounting
- 返回给定货币和精度的数字的货币表示形式,用于当前语言和区域的会计记法。
- lang.FormatCurrency
- 返回给定货币和精度的数字的货币表示形式,用于当前语言和区域。
- lang.FormatNumber
- 返回给定精度的数字的数字表示形式,用于当前语言和区域。
- lang.FormatNumberCustom
- 使用负数、小数和分组选项返回给定精度的数字的数字表示形式。
- lang.FormatPercent
- 返回给定精度的数字的百分比表示形式,用于当前语言和区域。
- lang.Merge
- 合并来自其他语言的缺失翻译。
- lang.Translate (T or i18n)
- 使用 i18n 目录中的翻译表翻译字符串。
math
使用这些函数执行数学运算。
- math.Abs
- 返回给定数字的绝对值。
- math.Acos
- 返回给定数字的反余弦值(以弧度表示)。
- math.Add (add)
- 将两个或多个数字相加。
- math.Asin
- 返回给定数字的反正弦值(以弧度表示)。
- math.Atan
- 返回给定数字的反切线值(以弧度表示)。
- math.Atan2
- 返回给定数字对的反切线值(以弧度表示),根据其符号确定正确的象限。
- math.Ceil
- 返回大于或等于给定数字的最小整数。
- math.Cos
- 返回给定弧度数的余弦值。
- math.Counter
- 递增并返回一个全局计数器。
- math.Div (div)
- 将第一个数字除以一个或多个数字。
- math.Floor
- 返回小于或等于给定数字的最大整数。
- math.Log
- 返回给定数字的自然对数。
- math.Max
- 返回所有数字中最大的一个。接受标量、切片或两者。
- math.Min
- 返回所有数字中最小的一个。接受标量、切片或两者。
- math.Mod (mod)
- 返回两个整数的模。
- math.ModBool (modBool)
- 报告两个整数的模是否等于 0。
- math.Mul (mul)
- 将两个或多个数字相乘。
- math.Pi
- 返回数学常数 pi。
- math.Pow (pow)
- 返回第一个数字的第二个数字次幂。
- math.Product
- 返回所有数字的乘积。接受标量、切片或两者。
- math.Rand
- 返回半开区间 [0.0, 1.0) 中的伪随机数。
- math.Round
- 返回最接近的整数,四舍五入远离零。
- math.Sin
- 返回给定弧度数的正弦值。
- math.Sqrt
- 返回给定数字的平方根。
- math.Sub (sub)
- 从第一个数字中减去一个或多个数字。
- math.Sum
- 返回所有数字的和。接受标量、切片或两者。
- math.Tan
- 返回给定弧度数的正切值。
- math.ToDegrees
- ToDegrees 将弧度转换为角度。
- math.ToRadians
- ToRadians 将角度转换为弧度。
openapi3
使用这些函数处理 OpenAPI 3 定义。
- openapi3.Unmarshal
- 将给定资源解组到 OpenAPI 3 文档中。
os
使用这些函数与操作系统交互。
- os.FileExists (fileExists)
- 报告文件或目录是否存在。
- os.Getenv (getenv)
- 返回环境变量的值,如果环境变量未设置,则返回空字符串。
- os.ReadDir (readDir)
- 返回一个按文件名排序的 FileInfo 结构数组,每个目录条目一个元素。
- os.ReadFile (readFile)
- 返回文件的内容。
- os.Stat
- 返回一个描述文件或目录的 FileInfo 结构。
partials
使用这些函数调用部分模板。
- partials.Include (partial)
- 执行给定的部分模板,可以选择传递上下文。如果部分模板包含 return 语句,则返回给定值,否则返回渲染的输出。
- partials.IncludeCached (partialCached)
- 执行给定的模板并缓存结果,可以选择传递上下文。如果部分模板包含 return 语句,则返回给定值,否则返回渲染的输出。
path
使用这些函数处理文件路径。
- path.Base
- 将路径分隔符替换为斜杠 (
/
) 并返回给定路径的最后一个元素。 - path.BaseName
- 将路径分隔符替换为斜杠 (
/
) 并返回给定路径的最后一个元素,如果存在则删除扩展名。 - path.Clean
- 将路径分隔符替换为斜杠 (
/
) 并返回与给定路径等效的最短路径名。 - path.Dir
- 将路径分隔符替换为斜杠 (/) 并返回给定路径除最后一个元素之外的所有元素。
- path.Ext
- 将路径分隔符替换为斜杠 (
/
) 并返回给定路径的文件名扩展名。 - path.Join
- 将路径分隔符替换为斜杠 (
/
),将给定的路径元素连接成一个路径,并返回与结果等效的最短路径名。 - path.Split
- 将路径分隔符替换为斜杠 (
/
) 并立即在最后一个斜杠之后拆分结果路径,将其分成目录和文件名组件。
reflect
使用这些函数确定值的类型。
- reflect.IsMap
- 报告给定值是否为映射。
- reflect.IsSlice
- 报告给定值是否为切片。
resources
使用这些函数处理资源。
- resources.Babel
- 使用 Babel 编译给定的 JavaScript 资源。
- resources.ByType
- 返回给定媒体类型的全局资源集合,如果未找到则返回 nil。
- resources.Concat
- 返回资源的连接切片。
- resources.Copy
- 将给定资源复制到目标路径。
- resources.ExecuteAsTemplate
- 返回使用给定上下文解析和执行的 Go 模板创建的资源。
- resources.Fingerprint (fingerprint)
- 对给定资源的内容进行加密散列。
- resources.FromString
- 返回由字符串创建的资源。
- resources.Get
- 从给定路径返回全局资源,如果未找到则返回 nil。
- resources.GetMatch
- 返回与给定 glob 模式匹配的第一个全局资源,如果未找到则返回 nil。
- resources.GetRemote
- 从给定 URL 返回远程资源,如果未找到则返回 nil。
- resources.Match
- 返回与给定 glob 模式匹配的全局资源集合,如果未找到则返回 nil。
- resources.Minify (minify)
- 压缩给定的资源。
- resources.PostCSS
- 使用任何 PostCSS 插件处理给定的资源。
- resources.PostProcess
- 构建后处理给定的资源。
- resources.ToCSS
- 将 Sass 编译为 CSS。
safe
使用这些函数在 Go 的 html/template 包的上下文中声明一个值为安全值。
- safe.CSS (safeCSS)
- 将给定字符串声明为安全 CSS 字符串。
- safe.HTML (safeHTML)
- 将给定字符串声明为安全 HTML 字符串。
- safe.HTMLAttr (safeHTMLAttr)
- 将给定的键值对声明为安全的 HTML 属性。
- safe.JS (safeJS)
- 将给定字符串声明为安全的 JavaScript 表达式。
- safe.JSStr (safeJSStr)
- 将给定字符串声明为安全的 JavaScript 字符串。
- safe.URL (safeURL)
- 将给定字符串声明为安全的 URL 或 URL 子字符串。
strings
使用这些函数处理字符串。
- strings.Chomp (chomp)
- 返回给定字符串,删除所有尾随换行符和回车符。
- strings.Contains
- 报告给定字符串是否包含给定子字符串。
- strings.ContainsAny
- 报告给定字符串是否包含给定集合中的任何字符。
- strings.ContainsNonSpace
- 报告给定字符串是否包含任何非空格字符,如 Unicode 的空格属性定义。
- strings.Count
- 返回给定字符串中给定子字符串的非重叠实例数。
- strings.CountRunes (countrunes)
- 返回给定字符串中字符的数目,不包括空格。
- strings.CountWords (countwords)
- 返回给定字符串中的单词数。
- strings.Diff
- 以统一 diff 格式返回两个文本 OLD 和 NEW 的锚定 diff。如果 OLD 和 NEW 相同,则返回空字符串。
- strings.FindRE (findRE)
- 返回与正则表达式匹配的字符串切片。
- strings.FindRESubmatch (findRESubmatch)
- 返回正则表达式所有连续匹配的切片。每个元素都是一个字符串切片,包含正则表达式最左侧匹配的文本以及其子表达式的匹配项(如果有)。
- strings.FirstUpper
- 返回给定字符串,将第一个字符大写。
- strings.HasPrefix (hasPrefix)
- 报告给定字符串是否以给定前缀开头。
- strings.HasSuffix (hasSuffix)
- 报告给定字符串是否以给定后缀结尾。
- strings.Repeat
- 返回一个新字符串,该字符串由零个或多个其他字符串的副本组成。
- strings.Replace (replace)
- 返回 INPUT 的副本,将所有出现的 OLD 替换为 NEW。
- strings.ReplaceRE (replaceRE)
- 返回 INPUT 的副本,将所有出现的正则表达式替换为替换模式。
- strings.RuneCount
- 返回给定字符串中字符的数目。
- strings.SliceString (slicestr)
- 返回给定字符串的子字符串,从起始位置开始,到结束位置之前结束。
- strings.Split (split)
- 通过分隔符分割给定字符串,返回字符串切片。
- strings.Substr (substr)
- 返回给定字符串的子字符串,从起始位置开始,到给定长度之后结束。
- strings.Title (title)
- 返回给定字符串,将其转换为标题大小写。
- strings.ToLower (lower)
- 返回给定字符串,将所有字符转换为小写。
- strings.ToUpper (upper)
- 返回给定字符串,将所有字符转换为大写。
- strings.Trim (trim)
- 返回给定字符串,删除 cutset 中指定的开头和结尾字符。
- strings.TrimLeft
- 返回给定字符串,删除 cutset 中指定的开头字符。
- strings.TrimPrefix
- 返回给定字符串,删除字符串开头的 prefix。
- strings.TrimRight
- 返回给定字符串,删除 cutset 中指定的结尾字符。
- strings.TrimSuffix
- 返回给定字符串,删除字符串结尾的 suffix。
- strings.Truncate (truncate)
- 返回给定字符串,将其截断到最大长度,不会截断单词或留下未关闭的 HTML 标签。
templates
使用这些函数查询模板系统。
- templates.Defer
- 延迟模板的执行,直到所有站点和输出格式都已渲染。
- templates.Exists
- 报告模板文件是否存在于相对于布局目录的给定路径下。
time
使用这些函数处理时间值。
- time.AsTime (time)
- 将给定的日期/时间值的字符串表示形式作为 time.Time 值返回。
- time.Duration (duration)
- 使用给定的时间单位和数字返回 time.Duration 值。
- time.Format (dateFormat)
- 将给定的日期/时间作为格式化和本地化的字符串返回。
- time.Now (now)
- 返回当前本地时间。
- time.ParseDuration
- 通过解析给定的持续时间字符串返回 time.Duration 值。
transform
使用这些函数将值从一种格式转换为另一种格式。
- transform.CanHighlight
- 报告给定的代码语言是否受 Chroma 高亮显示器支持。
- transform.Emojify (emojify)
- 将字符串通过 Emoji 表情符号处理器运行。
- transform.Highlight (highlight)
- 使用语法高亮显示器渲染代码。
- transform.HighlightCodeBlock
- 在代码块渲染钩子中突出显示在上下文中接收到的代码。
- transform.HTMLEscape (htmlEscape)
- 返回给定字符串,通过将特殊字符替换为 HTML 实体来转义它们。
- transform.HTMLUnescape (htmlUnescape)
- 返回给定字符串,将每个 HTML 实体替换为其对应的字符。
- transform.Markdownify (markdownify)
- 将 Markdown 渲染为 HTML。
- transform.Plainify (plainify)
- 返回一个删除所有 HTML 标签的字符串。
- transform.Remarshal
- 将序列化数据的字符串或映射编组到指定格式的序列化数据的字符串中。
- transform.ToMath
- 使用 KaTeX 渲染数学表达式。
- transform.Unmarshal (unmarshal)
- 解析序列化数据并返回映射或数组。支持 CSV、JSON、TOML、YAML 和 XML。
- transform.XMLEscape
- 返回给定字符串,删除不允许的字符,然后将其结果转义为其 XML 等效项。
urls
使用这些函数处理 URL。
- urls.AbsLangURL (absLangURL)
- 返回一个绝对 URL,如果存在,则带有一个语言前缀。
- urls.AbsURL (absURL)
- 返回一个绝对 URL。
- urls.Anchorize (anchorize)
- 返回给定字符串,已清理以供在 HTML id 属性中使用。
- urls.JoinPath
- 将提供的元素连接到 URL 字符串中,并清除结果中的任何 ./ 或 ../ 元素。如果参数列表为空,则 JoinPath 返回空字符串。
- urls.Parse
- 将 URL 解析为 URL 结构。
- urls.Ref (ref)
- 返回给定路径下页面的绝对永久链接。
- urls.RelLangURL (relLangURL)
- 返回一个相对 URL,如果存在,则带有一个语言前缀。
- urls.RelRef (relref)
- 返回给定路径下页面的相对永久链接。
- urls.RelURL (relURL)
- 返回一个相对 URL。
- urls.URLize (urlize)
- 返回给定字符串,已清理以供在 URL 中使用。