aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--commands/hugo.go2
-rw-r--r--helpers/path.go12
-rw-r--r--livereload/livereload.go4
3 files changed, 14 insertions, 4 deletions
diff --git a/commands/hugo.go b/commands/hugo.go
index cce37a5f9..e53804f1c 100644
--- a/commands/hugo.go
+++ b/commands/hugo.go
@@ -358,7 +358,7 @@ func NewWatcher(port int) error {
continue
}
- isstatic := strings.HasPrefix(ev.Name, helpers.AbsPathify(viper.GetString("StaticDir"))) || strings.HasPrefix(ev.Name, helpers.AbsPathify("themes/"+viper.GetString("theme"))+"/static/")
+ isstatic := strings.HasPrefix(ev.Name, helpers.GetStaticDirPath()) || strings.HasPrefix(ev.Name, helpers.GetThemesDirPath())
static_changed = static_changed || isstatic
dynamic_changed = dynamic_changed || !isstatic
diff --git a/helpers/path.go b/helpers/path.go
index 3351e0265..7965a6ada 100644
--- a/helpers/path.go
+++ b/helpers/path.go
@@ -174,9 +174,17 @@ func AbsPathify(inPath string) string {
return filepath.Clean(filepath.Join(viper.GetString("WorkingDir"), inPath))
}
+func GetStaticDirPath() string {
+ return AbsPathify(viper.GetString("StaticDir"))
+}
+
+func GetThemesDirPath() string {
+ return AbsPathify(filepath.Join("themes", viper.GetString("theme"), "static"))
+}
+
func MakeStaticPathRelative(inPath string) (string, error) {
- staticDir := AbsPathify(viper.GetString("StaticDir"))
- themeStaticDir := AbsPathify("themes/"+viper.GetString("theme")) + "/static/"
+ staticDir := GetStaticDirPath()
+ themeStaticDir := GetThemesDirPath()
return MakePathRelative(inPath, staticDir, themeStaticDir)
}
diff --git a/livereload/livereload.go b/livereload/livereload.go
index 1b1546158..a47a7b687 100644
--- a/livereload/livereload.go
+++ b/livereload/livereload.go
@@ -15,6 +15,7 @@ package livereload
import (
"net/http"
+ "strings"
"github.com/gorilla/websocket"
)
@@ -44,7 +45,8 @@ func ForceRefresh() {
func RefreshPath(s string) {
// Tell livereload a file has changed - will force a hard refresh if not CSS or an image
- wsHub.broadcast <- []byte(`{"command":"reload","path":"` + s + "\"" + `,"originalPath":"","liveCSS":true,"liveImg":true}`)
+ url_path := strings.Replace(s, "\\", "/", -1) // If path has backslashes on Windows, make path work for URL
+ wsHub.broadcast <- []byte(`{"command":"reload","path":"` + url_path + "\"" + `,"originalPath":"","liveCSS":true,"liveImg":true}`)
}
func ServeJS(w http.ResponseWriter, r *http.Request) {