diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2020-06-16 16:43:50 +0300 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2020-06-18 10:09:56 +0300 |
commit | fc045e12a953aac88b942c25b958c5c0554b252b (patch) | |
tree | ad8e171d0730f55eb9a531c1a9f0a8dfb51065ad /resources | |
parent | 9679023f2b0d7c55b70f23fd94603f301a841079 (diff) |
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
Diffstat (limited to 'resources')
-rw-r--r-- | resources/page/page.go | 2 | ||||
-rw-r--r-- | resources/page/page_kinds.go | 25 | ||||
-rw-r--r-- | resources/page/page_kinds_test.go | 4 | ||||
-rw-r--r-- | resources/page/page_paths_test.go | 10 |
4 files changed, 24 insertions, 17 deletions
diff --git a/resources/page/page.go b/resources/page/page.go index 934427b0e..de417178f 100644 --- a/resources/page/page.go +++ b/resources/page/page.go @@ -151,7 +151,7 @@ type PageMetaProvider interface { // Configured keywords. Keywords() []string - // The Page Kind. One of page, home, section, taxonomy, taxonomyTerm. + // The Page Kind. One of page, home, section, taxonomy, term. Kind() string // The configured layout to use to render this page. Typically set in front matter. diff --git a/resources/page/page_kinds.go b/resources/page/page_kinds.go index 1f59ec869..719375f66 100644 --- a/resources/page/page_kinds.go +++ b/resources/page/page_kinds.go @@ -20,18 +20,25 @@ const ( // The rest are node types; home page, sections etc. - KindHome = "home" - KindSection = "section" - KindTaxonomy = "taxonomy" - KindTaxonomyTerm = "taxonomyTerm" + KindHome = "home" + KindSection = "section" + + // Note tha before Hugo 0.73 these were confusingly named + // taxonomy (now: term) + // taxonomyTerm (now: taxonomy) + KindTaxonomy = "taxonomy" + KindTerm = "term" ) var kindMap = map[string]string{ - strings.ToLower(KindPage): KindPage, - strings.ToLower(KindHome): KindHome, - strings.ToLower(KindSection): KindSection, - strings.ToLower(KindTaxonomy): KindTaxonomy, - strings.ToLower(KindTaxonomyTerm): KindTaxonomyTerm, + strings.ToLower(KindPage): KindPage, + strings.ToLower(KindHome): KindHome, + strings.ToLower(KindSection): KindSection, + strings.ToLower(KindTaxonomy): KindTaxonomy, + strings.ToLower(KindTerm): KindTerm, + + // Legacy, pre v0.53.0. + "taxonomyterm": KindTaxonomy, } // GetKind gets the page kind given a string, empty if not found. diff --git a/resources/page/page_kinds_test.go b/resources/page/page_kinds_test.go index 7fba7e1d2..8ad3493ee 100644 --- a/resources/page/page_kinds_test.go +++ b/resources/page/page_kinds_test.go @@ -27,9 +27,9 @@ func TestKind(t *testing.T) { c.Assert(KindHome, qt.Equals, "home") c.Assert(KindSection, qt.Equals, "section") c.Assert(KindTaxonomy, qt.Equals, "taxonomy") - c.Assert(KindTaxonomyTerm, qt.Equals, "taxonomyTerm") + c.Assert(KindTerm, qt.Equals, "term") - c.Assert(GetKind("TAXONOMYTERM"), qt.Equals, KindTaxonomyTerm) + c.Assert(GetKind("TAXONOMYTERM"), qt.Equals, KindTaxonomy) c.Assert(GetKind("Taxonomy"), qt.Equals, KindTaxonomy) c.Assert(GetKind("Page"), qt.Equals, KindPage) c.Assert(GetKind("Home"), qt.Equals, KindHome) diff --git a/resources/page/page_paths_test.go b/resources/page/page_paths_test.go index 4aaa41e8a..63df48a99 100644 --- a/resources/page/page_paths_test.go +++ b/resources/page/page_paths_test.go @@ -58,12 +58,12 @@ func TestPageTargetPath(t *testing.T) { Sections: []string{"sect1"}, BaseName: "_index", Type: output.HTMLFormat}, TargetPaths{TargetFilename: "/sect1/index.html", SubResourceBaseTarget: "/sect1", Link: "/sect1/"}}, - {"HTML taxonomy list", TargetPathDescriptor{ - Kind: KindTaxonomy, + {"HTML taxonomy term", TargetPathDescriptor{ + Kind: KindTerm, Sections: []string{"tags", "hugo"}, BaseName: "_index", Type: output.HTMLFormat}, TargetPaths{TargetFilename: "/tags/hugo/index.html", SubResourceBaseTarget: "/tags/hugo", Link: "/tags/hugo/"}}, - {"HTML taxonomy term", TargetPathDescriptor{ + {"HTML taxonomy", TargetPathDescriptor{ Kind: KindTaxonomy, Sections: []string{"tags"}, BaseName: "_index", @@ -143,8 +143,8 @@ func TestPageTargetPath(t *testing.T) { Type: output.HTMLFormat, Addends: "page/3"}, TargetPaths{TargetFilename: "/page/3/index.html", SubResourceBaseTarget: "/page/3", Link: "/page/3/"}}, { - "Paginated Taxonomy list", TargetPathDescriptor{ - Kind: KindTaxonomy, + "Paginated Taxonomy terms list", TargetPathDescriptor{ + Kind: KindTerm, BaseName: "_index", Sections: []string{"tags", "hugo"}, Type: output.HTMLFormat, |