Only duplicate resource output in multihost mode

Yesterday's commit was a little too agressive.

This commit makes sure that the duplication of resources to public/en etc. is only performed in multihost mode.

See #5058
This commit is contained in:
Bjørn Erik Pedersen 2018-08-14 12:04:17 +02:00
parent 78f8475a05
commit 56c61559b2
No known key found for this signature in database
GPG key ID: 330E6E2BD4859D8F
2 changed files with 19 additions and 4 deletions

View file

@ -139,10 +139,8 @@ func New(fs *hugofs.Fs, cfg config.Provider) (*Paths, error) {
absResourcesDir = FilePathSeparator
}
multilingual := cfg.GetBool("multilingual")
var multihostTargetBasePaths []string
if multilingual {
if languages.IsMultihost() {
for _, l := range languages {
multihostTargetBasePaths = append(multihostTargetBasePaths, l.Lang)
}
@ -167,7 +165,7 @@ func New(fs *hugofs.Fs, cfg config.Provider) (*Paths, error) {
themes: config.GetStringSlicePreserveString(cfg, "theme"),
multilingual: multilingual,
multilingual: cfg.GetBool("multilingual"),
defaultContentLanguageInSubdir: cfg.GetBool("defaultContentLanguageInSubdir"),
DefaultContentLanguage: defaultContentLanguage,

View file

@ -385,3 +385,20 @@ $color: #333;
test.verify(b)
}
}
func TestMultiSiteResource(t *testing.T) {
t.Parallel()
assert := require.New(t)
b := newMultiSiteTestDefaultBuilder(t)
b.CreateSites().Build(BuildCfg{})
// This build is multilingual, but not multihost. There should be only one pipes.txt
b.AssertFileContent("public/fr/index.html", "French Home Page", "String Resource: /blog/text/pipes.txt")
assert.False(b.CheckExists("public/fr/text/pipes.txt"))
assert.False(b.CheckExists("public/en/text/pipes.txt"))
b.AssertFileContent("public/en/index.html", "Default Home Page", "String Resource: /blog/text/pipes.txt")
b.AssertFileContent("public/text/pipes.txt", "Hugo Pipes")
}