Skip to content

Commit

Permalink
Copy static files changed
Browse files Browse the repository at this point in the history
Fix watcher copy static theme files for
changed files

See gohugoio#1644 gohugoio#1559
  • Loading branch information
ffrizzo committed Jan 2, 2016
1 parent 0f6b334 commit fc75ca4
Showing 1 changed file with 20 additions and 12 deletions.
32 changes: 20 additions & 12 deletions commands/hugo.go
Expand Up @@ -452,7 +452,7 @@ func copyStatic() error {
}

// Copy the site's own static directory
staticDir := helpers.AbsPathify(viper.GetString("StaticDir")) + helpers.FilePathSeparator
staticDir := helpers.GetStaticDirPath() + helpers.FilePathSeparator
if _, err := os.Stat(staticDir); err == nil {
jww.INFO.Println("syncing from", staticDir, "to", publishDir)
return syncer.Sync(publishDir, staticDir)
Expand Down Expand Up @@ -572,7 +572,7 @@ func NewWatcher(port int) error {

for _, ev := range evs {
ext := filepath.Ext(ev.Name)
istemp := strings.HasSuffix(ext, "~") || (ext == ".swp") || (ext == ".swx") || (ext == ".tmp") || strings.HasPrefix(ext, ".goutputstream") || strings.HasSuffix(ext, "jb_old___")|| strings.HasSuffix(ext, "jb_bak___")
istemp := strings.HasSuffix(ext, "~") || (ext == ".swp") || (ext == ".swx") || (ext == ".tmp") || strings.HasPrefix(ext, ".goutputstream") || strings.HasSuffix(ext, "jb_old___") || strings.HasSuffix(ext, "jb_bak___")
if istemp {
continue
}
Expand All @@ -598,9 +598,7 @@ func NewWatcher(port int) error {
dynamicChanged = dynamicChanged || !isstatic

if isstatic {
if staticPath, err := helpers.MakeStaticPathRelative(ev.Name); err == nil {
staticFilesChanged[staticPath] = true
}
staticFilesChanged[ev.Name] = true
}

// add new directory to watch list
Expand Down Expand Up @@ -633,16 +631,26 @@ func NewWatcher(port int) error {
publishDir = ""
}

staticDir := helpers.GetStaticDirPath()
themeStaticDir := helpers.GetThemesDirPath()

jww.FEEDBACK.Printf("StaticDir '%s'\nThemeStaticDir '%s'\n", staticDir, themeStaticDir)

for path := range staticFilesChanged {
staticPath := filepath.Join(helpers.AbsPathify(viper.GetString("StaticDir")), path)
jww.FEEDBACK.Printf("Syncing file '%s'\n", staticPath)
var publishPath string

if strings.HasPrefix(path, staticDir) {
publishPath = filepath.Join(publishDir, strings.TrimPrefix(path, staticDir))
} else if strings.HasPrefix(path, themeStaticDir) {
publishPath = filepath.Join(publishDir, strings.TrimPrefix(path, themeStaticDir))
}
jww.FEEDBACK.Printf("Syncing file '%s'", path)

if _, err := os.Stat(staticPath); err == nil {
publishPath := filepath.Join(publishDir, path)
jww.INFO.Println("syncing from", staticPath, "to", publishPath)
err := syncer.Sync(publishPath, staticPath)
if _, err := os.Stat(path); err == nil {
jww.INFO.Println("syncing from ", path, " to ", publishPath)
err := syncer.Sync(publishPath, path)
if err != nil {
jww.FEEDBACK.Printf("Error on syncing file '%s'\n", staticPath)
jww.FEEDBACK.Printf("Error on syncing file '%s'\n", path)
}
}
}
Expand Down

0 comments on commit fc75ca4

Please sign in to comment.