mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-21 20:46:30 -05:00
Copy static files changed
Fix watcher copy static theme files for changed files See #1644 #1559
This commit is contained in:
parent
f310492cb0
commit
8f6f13104e
1 changed files with 21 additions and 13 deletions
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -633,16 +631,26 @@ func NewWatcher(port int) error {
|
|||
publishDir = ""
|
||||
}
|
||||
|
||||
for path := range staticFilesChanged {
|
||||
staticPath := filepath.Join(helpers.AbsPathify(viper.GetString("StaticDir")), path)
|
||||
jww.FEEDBACK.Printf("Syncing file '%s'\n", staticPath)
|
||||
staticDir := helpers.GetStaticDirPath()
|
||||
themeStaticDir := helpers.GetThemesDirPath()
|
||||
|
||||
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)
|
||||
jww.FEEDBACK.Printf("StaticDir '%s'\nThemeStaticDir '%s'\n", staticDir, themeStaticDir)
|
||||
|
||||
for path := range staticFilesChanged {
|
||||
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(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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue