Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gohugoio/hugo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2019-08-05 11:19:55 +0300
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2019-08-05 12:22:03 +0300
commitde87624241daa86660f205cc72a745409b9c9238 (patch)
tree361e6ae2c801bd400bf9d1de8c9fda64c5750dca /resources
parent9ef4dca361727a78e0f66f8f4e54c64e4c4781cb (diff)
hugolib: Fix output format handling of mix cased page kinds
Fixes #4528
Diffstat (limited to 'resources')
-rw-r--r--resources/page/page_kinds.go15
-rw-r--r--resources/page/page_kinds_test.go6
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"))
+
}