diff --git a/hugolib/integration_test.go b/hugolib/integration_test.go new file mode 100644 index 000000000..de8a6179b --- /dev/null +++ b/hugolib/integration_test.go @@ -0,0 +1,84 @@ +// Copyright 2022 The Hugo Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package hugolib_test + +import ( + "testing" + + "github.com/gohugoio/hugo/hugolib" +) + +// Issue 9073 +func TestPageTranslationsMap(t *testing.T) { + t.Parallel() + + files := ` +-- config.toml -- +baseURL = 'https://example.org/' +title = 'Issue-9073' +defaultContentLanguageInSubdir = true + +[taxonomies] +tag = 'tags' + +[languages.en] +contentDir = 'content/en' +weight = 1 +disableKinds = ['RSS','sitemap'] + +[languages.de] +contentDir = 'content/de' +weight = 2 +disableKinds = ['home', 'page', 'section', 'taxonomy', 'term','RSS','sitemap'] +-- content/de/posts/p1.md -- +--- +title: P1 +tags: ['T1'] +--- +-- content/en/posts/p1.md -- +--- +title: P1 +tags: ['T1'] +--- +-- layouts/_default/single.html -- + +-- layouts/_default/list.html -- + + ` + + b := hugolib.NewIntegrationTestBuilder( + hugolib.IntegrationTestConfig{ + T: t, + TxtarString: files, + }, + ) + b.Build() + + b.AssertFileContent("public/en/posts/index.html", + "", + ) + b.AssertFileContent("public/en/posts/p1/index.html", + "", + ) + b.AssertFileContent("public/en/tags/index.html", + "", + ) + b.AssertFileContent("public/en/tags/t1/index.html", + "", + ) + b.AssertFileContent("public/en/index.html", + "", + ) + +} diff --git a/hugolib/translations.go b/hugolib/translations.go index 76beafba9..5fcbc9218 100644 --- a/hugolib/translations.go +++ b/hugolib/translations.go @@ -21,7 +21,7 @@ func pagesToTranslationsMap(sites []*Site) map[string]page.Pages { out := make(map[string]page.Pages) for _, s := range sites { - s.pageMap.pageTrees.Walk(func(ss string, n *contentNode) bool { + s.pageMap.pageTrees.WalkLinkable(func(ss string, n *contentNode) bool { p := n.p // TranslationKey is implemented for all page types. base := p.TranslationKey()