Rename taxonomy kinds from taxonomy to term, taxonomyTerm to taxonomy

And we have taken great measures to limit potential site breakage:

* For `disableKinds` and `outputs` we try to map from old to new values if possible, if not we print an ERROR that can be toggled off if not relevant.
* The layout lookup is mostly compatible with more options for the new `term` kind.

That leaves:

* Where queries in site.Pages using taxonomy/taxonomyTerm Kind values as filter.
* Other places where these kind value are used in the templates (classes etc.)

Fixes #6911
Fixes #7395
This commit is contained in:
Bjørn Erik Pedersen
2020-06-16 15:43:50 +02:00
parent 9679023f2b
commit fc045e12a9
44 changed files with 644 additions and 220 deletions

View File

@@ -17,13 +17,12 @@ import (
"fmt"
"strings"
"github.com/gohugoio/hugo/config"
"github.com/gohugoio/hugo/output"
"github.com/gohugoio/hugo/resources/page"
"github.com/spf13/cast"
)
func createDefaultOutputFormats(allFormats output.Formats, cfg config.Provider) map[string]output.Formats {
func createDefaultOutputFormats(allFormats output.Formats) map[string]output.Formats {
rssOut, rssFound := allFormats.GetByName(output.RSSFormat.Name)
htmlOut, _ := allFormats.GetByName(output.HTMLFormat.Name)
robotsOut, _ := allFormats.GetByName(output.RobotsTxtFormat.Name)
@@ -35,11 +34,11 @@ func createDefaultOutputFormats(allFormats output.Formats, cfg config.Provider)
}
m := map[string]output.Formats{
page.KindPage: {htmlOut},
page.KindHome: defaultListTypes,
page.KindSection: defaultListTypes,
page.KindTaxonomy: defaultListTypes,
page.KindTaxonomyTerm: defaultListTypes,
page.KindPage: {htmlOut},
page.KindHome: defaultListTypes,
page.KindSection: defaultListTypes,
page.KindTerm: defaultListTypes,
page.KindTaxonomy: defaultListTypes,
// Below are for consistency. They are currently not used during rendering.
kindSitemap: {sitemapOut},
kindRobotsTXT: {robotsOut},
@@ -55,17 +54,15 @@ func createDefaultOutputFormats(allFormats output.Formats, cfg config.Provider)
}
func createSiteOutputFormats(allFormats output.Formats, cfg config.Provider, rssDisabled bool) (map[string]output.Formats, error) {
defaultOutputFormats := createDefaultOutputFormats(allFormats, cfg)
func createSiteOutputFormats(allFormats output.Formats, outputs map[string]interface{}, rssDisabled bool) (map[string]output.Formats, error) {
defaultOutputFormats := createDefaultOutputFormats(allFormats)
if !cfg.IsSet("outputs") {
if outputs == nil {
return defaultOutputFormats, nil
}
outFormats := make(map[string]output.Formats)
outputs := cfg.GetStringMap("outputs")
if len(outputs) == 0 {
return outFormats, nil
}