Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gohugoio/hugo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony Fok <foka@debian.org>2016-01-13 09:34:29 +0300
committerSteve Francia <steve.francia@gmail.com>2016-01-30 00:21:55 +0300
commite8eb61816631c0f99b15844f40ad175728c9e8c9 (patch)
tree34bbe1fb476f0505d19f5bcbf4880ad05401f435
parentc438f45629a42fe1a38ea1ff665c6016bb5e8aa1 (diff)
Do not call watchConfig() when not in watch mode
See #1772 Also, force DisableLiveReload to true when running "hugo --watch" (build-only non-server mode) to prevent livereload.ForceRefresh(), which would end up blocking watchConfig() forever, from being called because livereload.Initialize() is never called in this case. This fixes the bug where "hugo --watch" could only reload config.toml once before it gets stuck for good at livereload.ForceRefresh(). This is also consistent with Hugo's existing behaviour: Non-server "hugo --watch" has never injected livereload.js since the inception of the "watch" feature in Hugo v0.12.
-rw-r--r--commands/hugo.go15
1 files changed, 9 insertions, 6 deletions
diff --git a/commands/hugo.go b/commands/hugo.go
index 84fe42f76..5ee3f7385 100644
--- a/commands/hugo.go
+++ b/commands/hugo.go
@@ -90,7 +90,8 @@ func isUserError(err error) bool {
return userErrorRegexp.MatchString(err.Error())
}
-//HugoCmd is Hugo's root command. Every other command attached to HugoCmd is a child command to it.
+// HugoCmd is Hugo's root command.
+// Every other command attached to HugoCmd is a child command to it.
var HugoCmd = &cobra.Command{
Use: "hugo",
Short: "hugo builds your site",
@@ -105,10 +106,12 @@ Complete documentation is available at http://gohugo.io/.`,
return err
}
- watchConfig()
+ if BuildWatch {
+ viper.Set("DisableLiveReload", true)
+ watchConfig()
+ }
return build()
-
},
}
@@ -412,7 +415,7 @@ func watchConfig() {
fmt.Println("Config file changed:", e.Name)
utils.CheckErr(buildSite(true))
if !viper.GetBool("DisableLiveReload") {
- // Will block forever trying to write to a channel that nobody is reading if livereload isn't initalized
+ // Will block forever trying to write to a channel that nobody is reading if livereload isn't initialized
livereload.ForceRefresh()
}
})
@@ -777,7 +780,7 @@ func NewWatcher(port int) error {
}
if !BuildWatch && !viper.GetBool("DisableLiveReload") {
- // Will block forever trying to write to a channel that nobody is reading if livereload isn't initalized
+ // Will block forever trying to write to a channel that nobody is reading if livereload isn't initialized
// force refresh when more than one file
if len(staticEvents) > 0 {
@@ -800,7 +803,7 @@ func NewWatcher(port int) error {
rebuildSite(dynamicEvents)
if !BuildWatch && !viper.GetBool("DisableLiveReload") {
- // Will block forever trying to write to a channel that nobody is reading if livereload isn't initalized
+ // Will block forever trying to write to a channel that nobody is reading if livereload isn't initialized
livereload.ForceRefresh()
}
}