shithub: hugo

Download patch

ref: f0af80753c85d7f06fdebdc451ac2b3c69cca85c
parent: ddf2a3407adc0d9f1f5f93453665e7e2381f5254
author: Bjørn Erik Pedersen <[email protected]>
date: Wed Oct 19 15:59:15 EDT 2016

commands: Only watch relevant themes dir

The same behavior as for the root project.

Fixes #2602

--- a/commands/hugo.go
+++ b/commands/hugo.go
@@ -571,6 +571,12 @@
 	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 @@
 	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