URI: 
       hugolib/filesystems: Fix theme config for Work Fs - hugo - [fork] hugo port for 9front
  HTML git clone git@git.drkhsh.at/hugo.git
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
   DIR README
   DIR LICENSE
       ---
   DIR commit 5c9d5413a4e2cc8d44a8b2d7dff04e6523ba2a29
   DIR parent 59ebc83d72b09d28d62d8600517c73a4ffe70c66
  HTML Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
       Date:   Wed, 18 Jul 2018 11:02:21 +0200
       
       hugolib/filesystems: Fix theme config for Work Fs
       
       Which was the reason why `PostCSS´ from theme(s) was not picked up.
       
       Fixes #4951
       
       Diffstat:
         M hugolib/filesystems/basefs.go       |       5 +++++
         M hugolib/filesystems/basefs_test.go  |      12 +++++++++++-
       
       2 files changed, 16 insertions(+), 1 deletion(-)
       ---
   DIR diff --git a/hugolib/filesystems/basefs.go b/hugolib/filesystems/basefs.go
       @@ -407,6 +407,11 @@ func (b *sourceFilesystemsBuilder) createFs(
                s := &SourceFilesystem{
                        SourceFs: b.p.Fs.Source,
                }
       +
       +        if themeFolder == "" {
       +                themeFolder = filePathSeparator
       +        }
       +
                var dir string
                if dirKey != "" {
                        dir = b.p.Cfg.GetString(dirKey)
   DIR diff --git a/hugolib/filesystems/basefs_test.go b/hugolib/filesystems/basefs_test.go
       @@ -50,8 +50,14 @@ func TestNewBaseFs(t *testing.T) {
                                fs.Source.Mkdir(base, 0755)
                                afero.WriteFile(fs.Source, filepath.Join(base, fmt.Sprintf("theme-file-%s-%s.txt", theme, dir)), []byte(fmt.Sprintf("content:%s:%s", theme, dir)), 0755)
                        }
       +                // Write some files to the root of the theme
       +                base := filepath.Join(workingDir, "themes", theme)
       +                afero.WriteFile(fs.Source, filepath.Join(base, fmt.Sprintf("theme-root-%s.txt", theme)), []byte(fmt.Sprintf("content:%s", theme)), 0755)
       +                afero.WriteFile(fs.Source, filepath.Join(base, "file-root.txt"), []byte(fmt.Sprintf("content:%s", theme)), 0755)
                }
        
       +        afero.WriteFile(fs.Source, filepath.Join(workingDir, "file-root.txt"), []byte("content-project"), 0755)
       +
                afero.WriteFile(fs.Source, filepath.Join(workingDir, "themes", "btheme", "config.toml"), []byte(`
        theme = ["atheme"]
        `), 0755)
       @@ -102,7 +108,7 @@ theme = ["atheme"]
                checkFileCount(bfs.Archetypes.Fs, "", assert, 8)
                checkFileCount(bfs.Assets.Fs, "", assert, 9)
                checkFileCount(bfs.Resources.Fs, "", assert, 10)
       -        checkFileCount(bfs.Work.Fs, "", assert, 57)
       +        checkFileCount(bfs.Work.Fs, "", assert, 69)
        
                assert.Equal([]string{filepath.FromSlash("/my/work/mydata"), filepath.FromSlash("/my/work/themes/btheme/data"), filepath.FromSlash("/my/work/themes/atheme/data")}, bfs.Data.Dirnames)
        
       @@ -117,6 +123,10 @@ theme = ["atheme"]
                rel := bfs.RelContentDir(contentFilename)
                assert.Equal("file1.txt", rel)
        
       +        // Check Work fs vs theme
       +        checkFileContent(bfs.Work.Fs, "file-root.txt", assert, "content-project")
       +        checkFileContent(bfs.Work.Fs, "theme-root-atheme.txt", assert, "content:atheme")
       +
        }
        
        func createConfig() *viper.Viper {