Page.Title 与 Hugo Site 上的 Site.Title 相同

ixo*_*did 4 hugo

我正在与 Hugo 建立一个网站。在config.toml页面中有:

title = "mySite"

在“关于”页面的 markdown 文件中,有:

title: About

这会起作用并导致浏览器选项卡显示“关于 - mySite”。

问题出现在主页上,浏览器选项卡显示“mySite - mySite”。

Markdown 主页确实定义了标题:

title: long name of post

浏览 Hugo 文件,我看到 head.html 有这样一行:

<title>{{ if .Page.Title }}{{ .Page.Title }} - {{ end }}{{ .Site.Title }}</title>
Run Code Online (Sandbox Code Playgroud)

看来主页的 .Page.Title = .Site.Title 。如何将主页 .Page.Title 设置为“Home”,以便主页的浏览器选项卡显示为“Home - mySite”?

小智 6

尝试查看.IsHome页面变量(https://gohugo.io/variables/page/)。

对于您所描述的情况,我认为这可以解决问题:

<title>{{ if .IsHome }}Home - {{ else }}{{ if .Page.Title }}{{ .Page.Title }} - {{ end }}{{ end }}{{ .Site.Title }}</title>
Run Code Online (Sandbox Code Playgroud)

Home我没有方便的站点来快速测试上述模板渲染,但请确保大括号和ie之间没有空格}}Home,否则空格也会出现在 中<title>。如果上面有语法错误,只需写在注释中,我会编辑代码。