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