diff options
Diffstat (limited to 'resources/page/pagemeta/page_frontmatter.go')
-rw-r--r-- | resources/page/pagemeta/page_frontmatter.go | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/resources/page/pagemeta/page_frontmatter.go b/resources/page/pagemeta/page_frontmatter.go index 8abd3807f..4e412c666 100644 --- a/resources/page/pagemeta/page_frontmatter.go +++ b/resources/page/pagemeta/page_frontmatter.go @@ -421,18 +421,22 @@ func (f *frontmatterFieldHandlers) newDateFieldHandler(key string, setter func(d return false, nil } - date, err := htime.ToTimeInDefaultLocationE(v, d.Location) - if err != nil { - return false, nil + var date time.Time + if vt, ok := v.(time.Time); ok && vt.Location() == d.Location { + date = vt + } else { + var err error + date, err = htime.ToTimeInDefaultLocationE(v, d.Location) + if err != nil { + return false, nil + } + d.PageConfig.Params[key] = date } // We map several date keys to one, so, for example, // "expirydate", "unpublishdate" will all set .ExpiryDate (first found). setter(d, date) - // This is the params key as set in front matter. - d.PageConfig.Params[key] = date - return true, nil } } |