Add some missing resets on rebuild
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sun, 6 Mar 2016 15:33:32 +0000 (16:33 +0100)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sun, 6 Mar 2016 15:33:32 +0000 (16:33 +0100)
Fixes #1928
Fixes #1929

hugolib/site.go

index 93128bbbff6be3ad2481f768eb23c3b0584dc670..02a310f3264b1e0346ef296838014b6d5d2cf919 100644 (file)
@@ -469,6 +469,9 @@ func (s *Site) ReBuild(events []fsnotify.Event) error {
                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 len(sourceChanged) > 0 {
 
@@ -1303,6 +1306,17 @@ func (s *Site) assembleTaxonomies() {
        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() {
        for i, p := range s.Pages {
                s.Sections.Add(p.Section(), WeightedPage{s.Pages[i].Weight, s.Pages[i]}, s.Info.preserveTaxonomyNames)