From f0af80753c85d7f06fdebdc451ac2b3c69cca85c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Wed, 19 Oct 2016 19:59:15 +0200 Subject: [PATCH] commands: Only watch relevant themes dir The same behavior as for the root project. Fixes #2602 --- commands/hugo.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/commands/hugo.go b/commands/hugo.go index 4c284737d..fe05826f1 100644 --- 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