output: Prevent setting Name directly in new output formats

Name is derived from the map key.

Closes #11947
This commit is contained in:
Bjørn Erik Pedersen 2024-01-31 09:43:02 +01:00
parent 5b7cb258ec
commit 309d61b220
No known key found for this signature in database
3 changed files with 3 additions and 4 deletions

View file

@ -330,8 +330,7 @@ func TestGetOutputFormatRel(t *testing.T) {
b := newTestSitesBuilder(t).
WithSimpleConfigFileAndSettings(map[string]any{
"outputFormats": map[string]any{
"humansTXT": map[string]any{
"name": "HUMANS",
"HUMANS": map[string]any{
"mediaType": "text/plain",
"baseName": "humans",
"isPlainText": true,

View file

@ -65,10 +65,10 @@ func DecodeConfig(mediaTypes media.Types, in any) (*config.ConfigNamespace[map[s
}
newOutFormat := defaultOutputFormat
newOutFormat.Name = k
if err := decode(mediaTypes, v, &newOutFormat); err != nil {
return f, nil, err
}
newOutFormat.Name = k
f = append(f, newOutFormat)

View file

@ -29,7 +29,7 @@ type Format struct {
// The Name is used as an identifier. Internal output formats (i.e. html and rss)
// can be overridden by providing a new definition for those types.
// <docsmeta>{ "identifiers": ["html", "rss"] }</docsmeta>
Name string `json:"name"`
Name string `json:"-"`
MediaType media.Type `json:"-"`