Fix some livereload content regressions

Introduced in Hugo 0.38.

Fixes #4566
This commit is contained in:
Bjørn Erik Pedersen 2018-04-05 10:57:13 +02:00
parent 4d115c56fa
commit a4deaeff0c
No known key found for this signature in database
GPG key ID: 330E6E2BD4859D8F
3 changed files with 11 additions and 5 deletions

View file

@ -347,8 +347,8 @@ func (cfg *BuildCfg) shouldRender(p *Page) bool {
return true return true
} }
if cfg.whatChanged != nil && p.File != nil && cfg.whatChanged.files[p.File.Filename()] { if cfg.whatChanged != nil && p.File != nil {
return true return cfg.whatChanged.files[p.File.Filename()]
} }
return false return false
@ -708,10 +708,15 @@ func (m *contentChangeMap) resolveAndRemove(filename string) (string, string, bu
dir += helpers.FilePathSeparator 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. // This may be a member of a bundle. Start with branch bundles, the most specific.
if fileTp != bundleLeaf { 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 { for i, b := range m.branches {
if b == dir { if b == dir {
m.branches = append(m.branches[:i], m.branches[i+1:]...) m.branches = append(m.branches[:i], m.branches[i+1:]...)

View file

@ -438,7 +438,7 @@ func (ps Pages) findPagePosByFilnamePrefix(prefix string) int {
// will return -1 if not found // will return -1 if not found
func (ps Pages) findPagePos(page *Page) int { func (ps Pages) findPagePos(page *Page) int {
for i, x := range ps { for i, x := range ps {
if x.Source.Path() == page.Source.Path() { if x.Source.Filename() == page.Source.Filename() {
return i return i
} }
} }

View file

@ -1225,7 +1225,8 @@ func (s *Site) absContentDir() string {
} }
func (s *Site) isContentDirEvent(e fsnotify.Event) bool { 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 { func (s *Site) getContentDir(path string) string {