AlternativeOutputFormats(备选输出格式)
Syntax
PAGE.AlternativeOutputFormats
Returns
page.OutputFormats
当构建网站时,Hugo会为每个页面生成一个或多个文件。例如,当渲染主页、章节、分类和术语页面时,Hugo会生成一个HTML文件和一个RSS文件。HTML和RSS都是内置的_output格式_。可以创建多个输出格式,并根据页面种类进行生成控制,或者为一个或多个页面启用一个或多个输出格式。请参阅详细信息。
AlternativeOutputFormats
(备选输出格式)方法适用于 Page
(页面)对象,返回一个 OutputFormat
(输出格式)对象的切片,不包括当前输出格式,每个对象表示给定页面启用的一个输出格式。有关详情,请查看此处。
方法
- 获取标识符
- (
any
) 返回具有给定标识符的OutputFormat
对象。 - MediaType
- (
media.Type
) 返回输出格式的媒体类型。 - MediaType.MainType
- (
string
) 返回输出格式的媒体类型的主类型。 - MediaType.SubType
- (
string
) 返回当前格式的媒体类型的子类型。 - Name
- (
string
) 返回输出格式的输出标识符。 - Permalink
- (
string
) 返回当前输出格式生成的页面的永久链接。 - Rel
- (
string
) 返回输出格式的rel
值,可以是默认值,也可以是在站点配置中定义的值。 - RelPermalink
- (
string
) 返回当前输出格式生成的页面的相对永久链接。
示例
在每个页面的 <head>
元素中生成一个 link
元素,用于每个备选输出格式:
<head>
...
{{ $title := printf "%s | %s" .Title site.Title }}
{{ if .IsHome }}
{{ $title = site.Title }}
{{ end }}
{{ range .AlternativeOutputFormats -}}
{{ printf `<link rel=%q type=%q href=%q title=%q>` .Rel .MediaType.Type .Permalink $title | safeHTML }}
{{ end }}
...
</head>
对于站点的首页,Hugo 将渲染为:
<link rel="alternate" type="application/rss+xml" href="https://example.org/index.xml" title="ABC Widgets, Inc.">