summaryrefslogtreecommitdiffstats
path: root/hugolib
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2019-04-13 18:58:06 +0200
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2019-04-13 20:01:43 +0200
commit701486728e21bc0c6c78c2a8edb988abdf6116c7 (patch)
treea3073c654f62a1564470f6a6f3d5342fbe8e392c /hugolib
parentf2795d4d2cef30170af43327f3ff7114923833b1 (diff)
hugolib: Fix dates for sections with dates in front matter
Fixes #5854
Diffstat (limited to 'hugolib')
-rw-r--r--hugolib/page_test.go9
-rw-r--r--hugolib/site_sections.go19
2 files changed, 23 insertions, 5 deletions
diff --git a/hugolib/page_test.go b/hugolib/page_test.go
index a3b86ef2a..91ccb0d3e 100644
--- a/hugolib/page_test.go
+++ b/hugolib/page_test.go
@@ -507,6 +507,14 @@ title: No Date
`)
+ // https://github.com/gohugoio/hugo/issues/5854
+ b.WithSimpleConfigFile().WithContent("with-index-date/_index.md", `---
+title: Date
+date: 2018-01-15
+---
+
+`)
+
b.CreateSites().Build(BuildCfg{})
assert.Equal(1, len(b.H.Sites))
@@ -515,6 +523,7 @@ title: No Date
assert.Equal(2017, s.getPage("/").Date().Year())
assert.Equal(2017, s.getPage("/no-index").Date().Year())
assert.True(s.getPage("/with-index-no-date").Date().IsZero())
+ assert.Equal(2018, s.getPage("/with-index-date").Date().Year())
}
diff --git a/hugolib/site_sections.go b/hugolib/site_sections.go
index 9090c3ede..8fce43471 100644
--- a/hugolib/site_sections.go
+++ b/hugolib/site_sections.go
@@ -162,12 +162,18 @@ func (s *Site) assembleSections() pageStatePages {
if currentSection != nil {
// A new section
currentSection.setPages(children)
- currentSection.m.Dates = *dates
+ if dates != nil {
+ currentSection.m.Dates = *dates
+ }
}
currentSection = p
children = make(page.Pages, 0)
- dates = &resource.Dates{}
+ dates = nil
+ // Use section's dates from front matter if set.
+ if resource.IsZeroDates(currentSection) {
+ dates = &resource.Dates{}
+ }
return false
@@ -176,15 +182,18 @@ func (s *Site) assembleSections() pageStatePages {
// Regular page
p.parent = currentSection
children = append(children, p)
- dates.UpdateDateAndLastmodIfAfter(p)
+ if dates != nil {
+ dates.UpdateDateAndLastmodIfAfter(p)
+ }
return false
})
if currentSection != nil {
currentSection.setPages(children)
- currentSection.m.Dates = *dates
-
+ if dates != nil {
+ currentSection.m.Dates = *dates
+ }
}
// Build the sections hierarchy