mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-21 20:46:30 -05:00
Fix regression when config for OutputFormat.BaseName is an empty string
Fixes #11000
This commit is contained in:
parent
d666edad71
commit
ed906a86e2
2 changed files with 44 additions and 9 deletions
|
@ -1002,3 +1002,41 @@ Home
|
|||
conf := b.H.Configs.Base
|
||||
b.Assert(conf.IsKindEnabled("term"), qt.Equals, false)
|
||||
}
|
||||
|
||||
// Issue #11000
|
||||
func TestConfigEmptyTOMLString(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
files := `
|
||||
-- hugo.toml --
|
||||
[mediaTypes]
|
||||
[mediaTypes."text/htaccess"]
|
||||
suffixes = ["htaccess"]
|
||||
[outputFormats]
|
||||
[outputFormats.htaccess]
|
||||
mediaType = "text/htaccess"
|
||||
baseName = ""
|
||||
isPlainText = false
|
||||
notAlternative = true
|
||||
-- content/_index.md --
|
||||
---
|
||||
outputs: ["html", "htaccess"]
|
||||
---
|
||||
-- layouts/index.html --
|
||||
HTML.
|
||||
-- layouts/_default/list.htaccess --
|
||||
HTACCESS.
|
||||
|
||||
|
||||
|
||||
`
|
||||
b := NewIntegrationTestBuilder(
|
||||
IntegrationTestConfig{
|
||||
T: t,
|
||||
TxtarString: files,
|
||||
},
|
||||
).Build()
|
||||
|
||||
b.AssertFileContent("public/.htaccess", "HTACCESS")
|
||||
|
||||
}
|
||||
|
|
|
@ -32,6 +32,11 @@ type OutputFormatConfig struct {
|
|||
Format
|
||||
}
|
||||
|
||||
var defaultOutputFormat = Format{
|
||||
BaseName: "index",
|
||||
Rel: "alternate",
|
||||
}
|
||||
|
||||
func DecodeConfig(mediaTypes media.Types, in any) (*config.ConfigNamespace[map[string]OutputFormatConfig, Formats], error) {
|
||||
buildConfig := func(in any) (Formats, any, error) {
|
||||
f := make(Formats, len(DefaultFormats))
|
||||
|
@ -59,20 +64,12 @@ func DecodeConfig(mediaTypes media.Types, in any) (*config.ConfigNamespace[map[s
|
|||
continue
|
||||
}
|
||||
|
||||
var newOutFormat Format
|
||||
newOutFormat := defaultOutputFormat
|
||||
newOutFormat.Name = k
|
||||
if err := decode(mediaTypes, v, &newOutFormat); err != nil {
|
||||
return f, nil, err
|
||||
}
|
||||
|
||||
// We need values for these
|
||||
if newOutFormat.BaseName == "" {
|
||||
newOutFormat.BaseName = "index"
|
||||
}
|
||||
if newOutFormat.Rel == "" {
|
||||
newOutFormat.Rel = "alternate"
|
||||
}
|
||||
|
||||
f = append(f, newOutFormat)
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue