"p2.current.Ancestors: _partials/p1.html|all.html",
)
}
+
+func TestBaseOfIssue13583(t *testing.T) {
+ t.Parallel()
+
+ files := `
+-- hugo.toml --
+-- content/_index.md --
+---
+title: "Home"
+outputs: ["html", "amp"]
+---
+title: "Home"
+-- layouts/baseof.html --
+layouts/baseof.html
+{{ block "main" . }}{{ end }}
+-- layouts/baseof.amp.html --
+layouts/baseof.amp.html
+{{ block "main" . }}{{ end }}
+-- layouts/home.html --
+{{ define "main" }}
+Home.
+{{ end }}
+
+`
+ b := hugolib.Test(t, files)
+ b.AssertFileContent("public/index.html", "layouts/baseof.html")
+ b.AssertFileContent("public/amp/index.html", "layouts/baseof.amp.html")
+}
return ti.PathInfo.String()
}
-func (ti *TemplInfo) findBestMatchBaseof(s *TemplateStore, k1 string, slashCountK1 int, best *bestMatch) {
+func (ti *TemplInfo) findBestMatchBaseof(s *TemplateStore, d1 TemplateDescriptor, k1 string, slashCountK1 int, best *bestMatch) {
if ti.baseVariants == nil {
return
}
slashCountK2 := strings.Count(k2, "/")
distance := slashCountK1 - slashCountK2
- for d, vv := range v {
- weight := s.dh.compareDescriptors(CategoryBaseof, ti.D, d)
+ for d2, vv := range v {
+ weight := s.dh.compareDescriptors(CategoryBaseof, d1, d2)
weight.distance = distance
if best.isBetter(weight, vv.Template) {
- best.updateValues(weight, k2, d, vv.Template)
+ best.updateValues(weight, k2, d2, vv.Template)
}
}
return false, nil
return m
}
best1.reset()
- m.findBestMatchBaseof(s, key, slashCountKey, best1)
+ m.findBestMatchBaseof(s, q.Desc, key, slashCountKey, best1)
if best1.w.w1 <= 0 {
return nil
}