Я экспериментировал с поиском исправления новой ошибки устаревания, которая возникает в Hugo версии 0.55.5:
.File.BaseFileName on zero object. Wrap it in if or with: {{ with .File }}{{ .BaseFileName }}{{ end }}
Два затронутых фрагмента рассматриваемого кода:
{{ $header := print "_header." .Lang }}
{{ range where .Site.Pages "File.BaseFileName" $header }}
{{ .Content }}
{{else}}
{{ if .Site.GetPage "page" "_header.md" }}
{{(.Site.GetPage "page" "_header.md").Content}}
{{else}}
<a class="baselink" href="{{.Site.BaseURL}}">{{.Site.Title}}</a>
{{end}}
{{end}}
&& нижний колонтитул:
{{ $footer := print "_footer." .Lang }}
{{ range where .Site.Pages "File.BaseFileName" $footer }}
{{ .Content }}
{{else}}
{{ if .Site.GetPage "page" "_footer.md" }}
{{(.Site.GetPage "page" "_footer.md").Content}}
{{end}}
{{end}}
Я пытался по-разному обернуть эти сегменты кода {{ with .File }}
, как следует из сообщения об ошибке, но мне не нравится то, что я придумал. Например, если я поместил окружающий бит кода вокруг оператора {{ range ... }}
, я получу ошибку: can't evaluate field Site in type source.File
. Если бы кто-то мог помочь выяснить, где следует разместить {{ with .File }}
, это было бы очень полезно.