Add some missing resets on rebuild

Fixes #1928
Fixes #1929
This commit is contained in:
Bjørn Erik Pedersen 2016-03-06 16:33:32 +01:00
parent eaba04e82b
commit c7acc318b5

View file

@ -469,6 +469,9 @@ func (s *Site) ReBuild(events []fsnotify.Event) error {
s.ReadDataFromSourceFS() s.ReadDataFromSourceFS()
} }
// we reuse the state, so have to do some cleanup before we can rebuild.
s.resetPageBuildState()
// If a content file changes, we need to reload only it and re-render the entire site. // If a content file changes, we need to reload only it and re-render the entire site.
if len(sourceChanged) > 0 { if len(sourceChanged) > 0 {
@ -1303,6 +1306,17 @@ func (s *Site) assembleTaxonomies() {
s.Info.Sections = s.Sections s.Info.Sections = s.Sections
} }
// Prepare pages for a new full build.
func (s *Site) resetPageBuildState() {
s.Info.paginationPageCount = 0
for _, p := range s.Pages {
p.scratch = newScratch()
}
}
func (s *Site) assembleSections() { func (s *Site) assembleSections() {
for i, p := range s.Pages { for i, p := range s.Pages {
s.Sections.Add(p.Section(), WeightedPage{s.Pages[i].Weight, s.Pages[i]}, s.Info.preserveTaxonomyNames) s.Sections.Add(p.Section(), WeightedPage{s.Pages[i].Weight, s.Pages[i]}, s.Info.preserveTaxonomyNames)