diff --git a/hugolib/page.go b/hugolib/page.go index 45fa9ad52..3cb831f86 100644 --- a/hugolib/page.go +++ b/hugolib/page.go @@ -412,6 +412,8 @@ func (page *Page) update(f interface{}) error { default: // If not one of the explicit values, store in Params switch vv := v.(type) { + case bool: + page.Params[loki] = vv case string: page.Params[loki] = vv case int64, int32, int16, int8, int: @@ -444,6 +446,8 @@ func (page *Page) GetParam(key string) interface{} { } switch v.(type) { + case bool: + return interfaceToBool(v) case string: return interfaceToString(v) case int64, int32, int16, int8, int: diff --git a/hugolib/page_test.go b/hugolib/page_test.go index aef303a77..83bef158c 100644 --- a/hugolib/page_test.go +++ b/hugolib/page_test.go @@ -209,6 +209,7 @@ var PAGE_WITH_VARIOUS_FRONTMATTER_TYPES = `+++ a_string = "bar" an_integer = 1 a_float = 1.3 +a_bool = false a_date = 1979-05-27T07:32:00Z +++ Front Matter with various frontmatter types` @@ -458,6 +459,9 @@ func TestDifferentFrontMatterVarTypes(t *testing.T) { if page.GetParam("a_float") != 1.3 { t.Errorf("frontmatter not handling floats correctly should be %s, got: %s", 1.3, page.GetParam("a_float")) } + if page.GetParam("a_bool") != false { + t.Errorf("frontmatter not handling bools correctly should be %s, got: %s", false, page.GetParam("a_bool")) + } if page.GetParam("a_date") != dateval { t.Errorf("frontmatter not handling dates correctly should be %s, got: %s", dateval, page.GetParam("a_date")) }