mirror of
https://github.com/gohugoio/hugo.git
synced 2025-08-29 22:29:56 +02:00
@@ -15,6 +15,7 @@ package hugolib
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
"sync"
|
||||
"sync/atomic"
|
||||
|
||||
@@ -140,6 +141,7 @@ func (h *HugoSites) doNewPage(m *pageMeta) (*pageState, *paths.Path, error) {
|
||||
}
|
||||
}
|
||||
|
||||
var tc viewName
|
||||
// Identify Page Kind.
|
||||
if m.pageConfig.Kind == "" {
|
||||
m.pageConfig.Kind = kinds.KindSection
|
||||
@@ -147,16 +149,13 @@ func (h *HugoSites) doNewPage(m *pageMeta) (*pageState, *paths.Path, error) {
|
||||
m.pageConfig.Kind = kinds.KindHome
|
||||
} else if m.pathInfo.IsBranchBundle() {
|
||||
// A section, taxonomy or term.
|
||||
tc := m.s.pageMap.cfg.getTaxonomyConfig(m.Path())
|
||||
tc = m.s.pageMap.cfg.getTaxonomyConfig(m.Path())
|
||||
if !tc.IsZero() {
|
||||
// Either a taxonomy or a term.
|
||||
if tc.pluralTreeKey == m.Path() {
|
||||
m.pageConfig.Kind = kinds.KindTaxonomy
|
||||
m.singular = tc.singular
|
||||
} else {
|
||||
m.pageConfig.Kind = kinds.KindTerm
|
||||
m.term = m.pathInfo.Unnormalized().BaseNameNoIdentifier()
|
||||
m.singular = tc.singular
|
||||
}
|
||||
}
|
||||
} else if m.f != nil {
|
||||
@@ -164,6 +163,19 @@ func (h *HugoSites) doNewPage(m *pageMeta) (*pageState, *paths.Path, error) {
|
||||
}
|
||||
}
|
||||
|
||||
if m.pageConfig.Kind == kinds.KindTerm || m.pageConfig.Kind == kinds.KindTaxonomy {
|
||||
if tc.IsZero() {
|
||||
tc = m.s.pageMap.cfg.getTaxonomyConfig(m.Path())
|
||||
}
|
||||
if tc.IsZero() {
|
||||
return nil, fmt.Errorf("no taxonomy configuration found for %q", m.Path())
|
||||
}
|
||||
m.singular = tc.singular
|
||||
if m.pageConfig.Kind == kinds.KindTerm {
|
||||
m.term = paths.TrimLeading(strings.TrimPrefix(m.pathInfo.Unnormalized().Base(), tc.pluralTreeKey))
|
||||
}
|
||||
}
|
||||
|
||||
if m.pageConfig.Kind == kinds.KindPage && !m.s.conf.IsKindEnabled(m.pageConfig.Kind) {
|
||||
return nil, nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user