ref: 56c61559b2a9f9c4cec3f6c6de9bcc5095a78b57
parent: 78f8475a054a6277d37f13329afd240b00dc9408
author: Bjørn Erik Pedersen <[email protected]>
date: Tue Aug 14 08:04:17 EDT 2018
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
--- a/hugolib/paths/paths.go
+++ b/hugolib/paths/paths.go
@@ -139,10 +139,8 @@
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 @@
themes: config.GetStringSlicePreserveString(cfg, "theme"),
- multilingual: multilingual,
+ multilingual: cfg.GetBool("multilingual"),
defaultContentLanguageInSubdir: cfg.GetBool("defaultContentLanguageInSubdir"),
DefaultContentLanguage: defaultContentLanguage,
--- a/hugolib/resource_chain_test.go
+++ b/hugolib/resource_chain_test.go
@@ -385,3 +385,20 @@
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")
+
+}