mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-07 20:30:36 -05:00
hugolib: Fix HugoSites.createMissingPages
Previously it would only check for existing KindTaxonomyTerm pages if the taxonomy had any terms defined. So for a taxonomy with no terms but a taxonomy terms page it would generate a second empty terms page.
This commit is contained in:
parent
d0e2a1fa14
commit
22c89dcb6c
2 changed files with 35 additions and 27 deletions
|
@ -322,21 +322,8 @@ func (h *HugoSites) createMissingPages() error {
|
||||||
taxonomyPages := s.findPagesByKind(KindTaxonomy)
|
taxonomyPages := s.findPagesByKind(KindTaxonomy)
|
||||||
taxonomyTermsPages := s.findPagesByKind(KindTaxonomyTerm)
|
taxonomyTermsPages := s.findPagesByKind(KindTaxonomyTerm)
|
||||||
for _, plural := range taxonomies {
|
for _, plural := range taxonomies {
|
||||||
tax := s.Taxonomies[plural]
|
if s.isEnabled(KindTaxonomyTerm) {
|
||||||
foundTaxonomyTermsPage := false
|
foundTaxonomyTermsPage := false
|
||||||
for key := range tax {
|
|
||||||
foundTaxonomyPage := false
|
|
||||||
origKey := key
|
|
||||||
|
|
||||||
if s.Info.preserveTaxonomyNames {
|
|
||||||
key = s.PathSpec.MakePathSanitized(key)
|
|
||||||
}
|
|
||||||
for _, p := range taxonomyPages {
|
|
||||||
if p.sections[0] == plural && p.sections[1] == key {
|
|
||||||
foundTaxonomyPage = true
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for _, p := range taxonomyTermsPages {
|
for _, p := range taxonomyTermsPages {
|
||||||
if p.sections[0] == plural {
|
if p.sections[0] == plural {
|
||||||
foundTaxonomyTermsPage = true
|
foundTaxonomyTermsPage = true
|
||||||
|
@ -344,16 +331,6 @@ func (h *HugoSites) createMissingPages() error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if s.isEnabled(KindTaxonomy) {
|
|
||||||
if !foundTaxonomyPage {
|
|
||||||
n := s.newTaxonomyPage(plural, origKey)
|
|
||||||
s.Pages = append(s.Pages, n)
|
|
||||||
newPages = append(newPages, n)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if s.isEnabled(KindTaxonomyTerm) {
|
|
||||||
if !foundTaxonomyTermsPage {
|
if !foundTaxonomyTermsPage {
|
||||||
foundTaxonomyTermsPage = true
|
foundTaxonomyTermsPage = true
|
||||||
n := s.newTaxonomyTermsPage(plural)
|
n := s.newTaxonomyTermsPage(plural)
|
||||||
|
@ -361,6 +338,29 @@ func (h *HugoSites) createMissingPages() error {
|
||||||
newPages = append(newPages, n)
|
newPages = append(newPages, n)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if s.isEnabled(KindTaxonomy) {
|
||||||
|
for key := range s.Taxonomies[plural] {
|
||||||
|
foundTaxonomyPage := false
|
||||||
|
origKey := key
|
||||||
|
|
||||||
|
if s.Info.preserveTaxonomyNames {
|
||||||
|
key = s.PathSpec.MakePathSanitized(key)
|
||||||
|
}
|
||||||
|
for _, p := range taxonomyPages {
|
||||||
|
if p.sections[0] == plural && p.sections[1] == key {
|
||||||
|
foundTaxonomyPage = true
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if !foundTaxonomyPage {
|
||||||
|
n := s.newTaxonomyPage(plural, origKey)
|
||||||
|
s.Pages = append(s.Pages, n)
|
||||||
|
newPages = append(newPages, n)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -96,14 +96,14 @@ func doTestNodeAsPage(t *testing.T, ugly, preserveTaxonomyNames bool) {
|
||||||
|
|
||||||
require.Len(t, nodes, 8)
|
require.Len(t, nodes, 8)
|
||||||
|
|
||||||
home := nodes[6] // oldest
|
home := nodes[7] // oldest
|
||||||
|
|
||||||
require.True(t, home.IsHome())
|
require.True(t, home.IsHome())
|
||||||
require.True(t, home.IsNode())
|
require.True(t, home.IsNode())
|
||||||
require.False(t, home.IsPage())
|
require.False(t, home.IsPage())
|
||||||
require.True(t, home.Path() != "")
|
require.True(t, home.Path() != "")
|
||||||
|
|
||||||
section2 := nodes[4]
|
section2 := nodes[5]
|
||||||
require.Equal(t, "Section2", section2.Title)
|
require.Equal(t, "Section2", section2.Title)
|
||||||
|
|
||||||
pages := sites.findAllPagesByKind(KindPage)
|
pages := sites.findAllPagesByKind(KindPage)
|
||||||
|
@ -720,6 +720,14 @@ lastMod : %q
|
||||||
Taxonomy Term Categories **Content!**
|
Taxonomy Term Categories **Content!**
|
||||||
`, date.Add(13*24*time.Hour).Format(time.RFC822), date.Add(14*24*time.Hour).Format(time.RFC822)))
|
`, date.Add(13*24*time.Hour).Format(time.RFC822), date.Add(14*24*time.Hour).Format(time.RFC822)))
|
||||||
|
|
||||||
|
writeSource(t, fs, filepath.Join("content", "tags", filename), fmt.Sprintf(`---
|
||||||
|
title: Taxonomy Term Tags
|
||||||
|
date : %q
|
||||||
|
lastMod : %q
|
||||||
|
---
|
||||||
|
Taxonomy Term Tags **Content!**
|
||||||
|
`, date.Add(15*24*time.Hour).Format(time.RFC822), date.Add(16*24*time.Hour).Format(time.RFC822)))
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func writeLayoutsForNodeAsPageTests(t *testing.T, fs *hugofs.Fs) {
|
func writeLayoutsForNodeAsPageTests(t *testing.T, fs *hugofs.Fs) {
|
||||||
|
|
Loading…
Reference in a new issue