Support pages without front matter

* Page without front matter now treated same as a page with empty front matter.
* Test cases added to cover this and repro issue #4320.
* Type safety of front matter code improved.

Fixes #4320
This commit is contained in:
Vas Sudanagunta
2018-01-25 22:54:15 -05:00
committed by Bjørn Erik Pedersen
parent 3f0379adb7
commit 91bb774ae4
8 changed files with 56 additions and 42 deletions

View File

@@ -1231,9 +1231,7 @@ func (c *commandeer) isThemeVsHugoVersionMismatch() (mismatch bool, requiredMinV
return
}
config := tomlMeta.(map[string]interface{})
if minVersion, ok := config["min_version"]; ok {
if minVersion, ok := tomlMeta["min_version"]; ok {
return helpers.CompareVersion(minVersion) > 0, fmt.Sprint(minVersion)
}

View File

@@ -255,7 +255,7 @@ func loadJekyllConfig(fs afero.Fs, jekyllRoot string) map[string]interface{} {
return nil
}
return c.(map[string]interface{})
return c
}
func createConfigFromJekyll(fs afero.Fs, inpath string, kind string, jekyllConfig map[string]interface{}) (err error) {

View File

@@ -99,7 +99,7 @@ func undraftContent(p parser.Page) (bytes.Buffer, error) {
var isDraft, gotDate bool
var date string
L:
for k, v := range meta.(map[string]interface{}) {
for k, v := range meta {
switch k {
case "draft":
if !v.(bool) {

View File

@@ -69,7 +69,7 @@ func TestUndraftContent(t *testing.T) {
t.Errorf("[%d] unexpected error %q", i, err)
continue
}
for k, v := range meta.(map[string]interface{}) {
for k, v := range meta {
if k == "draft" {
if v.(bool) {
t.Errorf("[%d] Expected %q to be \"false\", got \"true\"", i, k)