hugo

Unnamed repository; edit this file 'description' to name the repository.

git clone git://git.shimmy1996.com/hugo.git
commit f0af80753c85d7f06fdebdc451ac2b3c69cca85c
parent ddf2a3407adc0d9f1f5f93453665e7e2381f5254
Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Date:   Wed, 19 Oct 2016 19:59:15 +0200

commands: Only watch relevant themes dir

The same behavior as for the root project.

Fixes #2602

Diffstat:
Mcommands/hugo.go | 13++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/commands/hugo.go b/commands/hugo.go
@@ -571,6 +571,12 @@ func getDirList() []string {
 	i18nDir := helpers.AbsPathify(viper.GetString("I18nDir"))
 	layoutDir := helpers.AbsPathify(viper.GetString("LayoutDir"))
 	staticDir := helpers.AbsPathify(viper.GetString("StaticDir"))
+	var themesDir string
+
+	if helpers.ThemeSet() {
+		themesDir = helpers.AbsPathify(viper.GetString("themesDir") + "/" + viper.GetString("theme"))
+	}
+
 	walker := func(path string, fi os.FileInfo, err error) error {
 		if err != nil {
 			if path == dataDir && os.IsNotExist(err) {
@@ -628,9 +634,14 @@ func getDirList() []string {
 	helpers.SymbolicWalk(hugofs.Source(), helpers.AbsPathify(viper.GetString("ContentDir")), walker)
 	helpers.SymbolicWalk(hugofs.Source(), i18nDir, walker)
 	helpers.SymbolicWalk(hugofs.Source(), helpers.AbsPathify(viper.GetString("LayoutDir")), walker)
+
 	helpers.SymbolicWalk(hugofs.Source(), staticDir, walker)
 	if helpers.ThemeSet() {
-		helpers.SymbolicWalk(hugofs.Source(), helpers.AbsPathify(viper.GetString("themesDir")+"/"+viper.GetString("theme")), walker)
+		helpers.SymbolicWalk(hugofs.Source(), filepath.Join(themesDir, "layouts"), walker)
+		helpers.SymbolicWalk(hugofs.Source(), filepath.Join(themesDir, "static"), walker)
+		helpers.SymbolicWalk(hugofs.Source(), filepath.Join(themesDir, "i18n"), walker)
+		helpers.SymbolicWalk(hugofs.Source(), filepath.Join(themesDir, "data"), walker)
+
 	}
 
 	return a