diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2019-08-05 11:19:55 +0300 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2019-08-05 12:22:03 +0300 |
commit | de87624241daa86660f205cc72a745409b9c9238 (patch) | |
tree | 361e6ae2c801bd400bf9d1de8c9fda64c5750dca /resources | |
parent | 9ef4dca361727a78e0f66f8f4e54c64e4c4781cb (diff) |
hugolib: Fix output format handling of mix cased page kinds
Fixes #4528
Diffstat (limited to 'resources')
-rw-r--r-- | resources/page/page_kinds.go | 15 | ||||
-rw-r--r-- | resources/page/page_kinds_test.go | 6 |
2 files changed, 21 insertions, 0 deletions
diff --git a/resources/page/page_kinds.go b/resources/page/page_kinds.go index a2e59438e..1f59ec869 100644 --- a/resources/page/page_kinds.go +++ b/resources/page/page_kinds.go @@ -13,6 +13,8 @@ package page +import "strings" + const ( KindPage = "page" @@ -23,3 +25,16 @@ const ( KindTaxonomy = "taxonomy" KindTaxonomyTerm = "taxonomyTerm" ) + +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, +} + +// GetKind gets the page kind given a string, empty if not found. +func GetKind(s string) string { + return kindMap[strings.ToLower(s)] +} diff --git a/resources/page/page_kinds_test.go b/resources/page/page_kinds_test.go index 8ad7343dc..12f1c598e 100644 --- a/resources/page/page_kinds_test.go +++ b/resources/page/page_kinds_test.go @@ -28,4 +28,10 @@ func TestKind(t *testing.T) { require.Equal(t, "taxonomy", KindTaxonomy) require.Equal(t, "taxonomyTerm", KindTaxonomyTerm) + require.Equal(t, KindTaxonomyTerm, GetKind("TAXONOMYTERM")) + require.Equal(t, KindTaxonomy, GetKind("Taxonomy")) + require.Equal(t, KindPage, GetKind("Page")) + require.Equal(t, KindHome, GetKind("Home")) + require.Equal(t, KindSection, GetKind("SEction")) + } |