Fix rebuild when changing mixed case named templates

Fixes #12165
This commit is contained in:
Bjørn Erik Pedersen 2024-03-20 11:00:08 +01:00
parent c1ea22a232
commit 19937a20ad
2 changed files with 25 additions and 1 deletions

View file

@ -730,7 +730,7 @@ func (h *HugoSites) processPartial(ctx context.Context, l logg.LevelLogger, conf
case files.ComponentFolderLayouts:
tmplChanged = true
templatePath := pathInfo.TrimLeadingSlash().PathNoLang()
templatePath := pathInfo.Unnormalized().TrimLeadingSlash().PathNoLang()
if !h.Tmpl().HasTemplate(templatePath) {
tmplAdded = true
}

View file

@ -1490,3 +1490,27 @@ title: "Default"
// Just make sure that it doesn't panic.
b.EditFileReplaceAll("archetypes/default.md", "Default", "Default Edited").Build()
}
func TestRebuildEditMixedCaseTemplateFileIssue12165(t *testing.T) {
t.Parallel()
files := `
-- hugo.toml --
baseURL = "https://example.com"
disableLiveReload = true
-- layouts/partials/MyTemplate.html --
MyTemplate
-- layouts/index.html --
MyTemplate: {{ partial "MyTemplate.html" . }}|
`
b := TestRunning(t, files)
b.AssertFileContent("public/index.html", "MyTemplate: MyTemplate")
b.EditFileReplaceAll("layouts/partials/MyTemplate.html", "MyTemplate", "MyTemplate Edited").Build()
b.AssertFileContent("public/index.html", "MyTemplate: MyTemplate Edited")
}