URI: 
       Fix translationKey handling for term pages - hugo - [fork] hugo port for 9front
  HTML git clone git@git.drkhsh.at/hugo.git
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
   DIR README
   DIR LICENSE
       ---
   DIR commit 68d92ef9ddbb63340d71af0cb30e6fb7c4912c65
   DIR parent b40f3c7df6bc89efaaadddec7d2cc291557b2ee9
  HTML Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
       Date:   Fri, 15 Mar 2024 16:21:25 +0100
       
       Fix translationKey handling for term pages
       
       Fixes #12261
       
       Diffstat:
         M hugolib/content_map_page.go         |      14 +++++++-------
         M hugolib/page_test.go                |      45 +++++++++++++++++++++++++++++++
       
       2 files changed, 52 insertions(+), 7 deletions(-)
       ---
   DIR diff --git a/hugolib/content_map_page.go b/hugolib/content_map_page.go
       @@ -1500,13 +1500,6 @@ func (sa *sitePagesAssembler) assembleTermsAndTranslations() error {
                                        return false, nil
                                }
        
       -                        // This is a little out of place, but is conveniently put here.
       -                        // Check if translationKey is set by user.
       -                        // This is to support the manual way of setting the translationKey in front matter.
       -                        if ps.m.pageConfig.TranslationKey != "" {
       -                                sa.s.h.translationKeyPages.Append(ps.m.pageConfig.TranslationKey, ps)
       -                        }
       -
                                if sa.pageMap.cfg.taxonomyTermDisabled {
                                        return false, nil
                                }
       @@ -1587,6 +1580,13 @@ func (sa *sitePagesAssembler) assembleResources() error {
                        Handle: func(s string, n contentNodeI, match doctree.DimensionFlag) (bool, error) {
                                ps := n.(*pageState)
        
       +                        // This is a little out of place, but is conveniently put here.
       +                        // Check if translationKey is set by user.
       +                        // This is to support the manual way of setting the translationKey in front matter.
       +                        if ps.m.pageConfig.TranslationKey != "" {
       +                                sa.s.h.translationKeyPages.Append(ps.m.pageConfig.TranslationKey, ps)
       +                        }
       +
                                // Prepare resources for this page.
                                ps.shiftToOutputFormat(true, 0)
                                targetPaths := ps.targetPaths()
   DIR diff --git a/hugolib/page_test.go b/hugolib/page_test.go
       @@ -1350,6 +1350,51 @@ AllTranslations: {{ range .AllTranslations }}{{ .Language.Lang }}|{{ end }}|
                )
        }
        
       +func TestTranslationKeyTermPages(t *testing.T) {
       +        t.Parallel()
       +
       +        files := `
       +-- hugo.toml --
       +disableKinds = ['home','rss','section','sitemap','taxonomy']
       +defaultContentLanguage = 'en'
       +defaultContentLanguageInSubdir = true
       +[languages.en]
       +weight = 1
       +[languages.pt]
       +weight = 2
       +[taxonomies]
       +category = 'categories'
       +-- layouts/_default/list.html --
       +{{ .IsTranslated }}|{{ range .Translations }}{{ .RelPermalink }}|{{ end }}
       +-- layouts/_default/single.html --
       +{{ .Title }}|
       +-- content/p1.en.md --
       +---
       +title: p1 (en)
       +categories: [music]
       +---
       +-- content/p1.pt.md --
       +---
       +title: p1 (pt)
       +categories: [música]
       +---
       +-- content/categories/music/_index.en.md --
       +---
       +title: music
       +translationKey: foo
       +---
       +-- content/categories/música/_index.pt.md --
       +---
       +title: música
       +translationKey: foo
       +---
       +`
       +
       +        b := Test(t, files)
       +        b.AssertFileContent("public/en/categories/music/index.html", "true|/pt/categories/m%C3%BAsica/|")
       +        b.AssertFileContent("public/pt/categories/música/index.html", "true|/en/categories/music/|")
       +}
       +
        // Issue #11540.
        func TestTranslationKeyResourceSharing(t *testing.T) {
                files := `