mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-21 20:46:30 -05:00
hugolib/filesystems: Fix theme config for Work Fs
Which was the reason why `PostCSS´ from theme(s) was not picked up. Fixes #4951
This commit is contained in:
parent
59ebc83d72
commit
5c9d5413a4
2 changed files with 16 additions and 1 deletions
|
@ -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)
|
||||
|
|
|
@ -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 {
|
||||
|
|
Loading…
Reference in a new issue