commit a4deaeff0cfd70abfbefa6d40c0b86839a216f6d
parent 4d115c56fac9060230fbac6181a05f7cc6d10b42
Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Date: Thu, 5 Apr 2018 10:57:13 +0200
Fix some livereload content regressions
Introduced in Hugo 0.38.
Fixes #4566
Diffstat:
3 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/hugolib/hugo_sites.go b/hugolib/hugo_sites.go
@@ -347,8 +347,8 @@ func (cfg *BuildCfg) shouldRender(p *Page) bool {
return true
}
- if cfg.whatChanged != nil && p.File != nil && cfg.whatChanged.files[p.File.Filename()] {
- return true
+ if cfg.whatChanged != nil && p.File != nil {
+ return cfg.whatChanged.files[p.File.Filename()]
}
return false
@@ -708,10 +708,15 @@ func (m *contentChangeMap) resolveAndRemove(filename string) (string, string, bu
dir += helpers.FilePathSeparator
}
- fileTp, _ := classifyBundledFile(name)
+ fileTp, isContent := classifyBundledFile(name)
// This may be a member of a bundle. Start with branch bundles, the most specific.
if fileTp != bundleLeaf {
+ if fileTp == bundleNot && isContent {
+ // Branch bundles does not contain content pages as resources.
+ return dir, filename, bundleNot
+ }
+
for i, b := range m.branches {
if b == dir {
m.branches = append(m.branches[:i], m.branches[i+1:]...)
diff --git a/hugolib/page.go b/hugolib/page.go
@@ -438,7 +438,7 @@ func (ps Pages) findPagePosByFilnamePrefix(prefix string) int {
// will return -1 if not found
func (ps Pages) findPagePos(page *Page) int {
for i, x := range ps {
- if x.Source.Path() == page.Source.Path() {
+ if x.Source.Filename() == page.Source.Filename() {
return i
}
}
diff --git a/hugolib/site.go b/hugolib/site.go
@@ -1225,7 +1225,8 @@ func (s *Site) absContentDir() string {
}
func (s *Site) isContentDirEvent(e fsnotify.Event) bool {
- return s.getContentDir(e.Name) != ""
+ relDir, _ := s.PathSpec.RelContentDir(e.Name)
+ return relDir != e.Name
}
func (s *Site) getContentDir(path string) string {