hugo

Unnamed repository; edit this file 'description' to name the repository.

git clone git://git.shimmy1996.com/hugo.git
commit 56c61559b2a9f9c4cec3f6c6de9bcc5095a78b57
parent 78f8475a054a6277d37f13329afd240b00dc9408
Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Date:   Tue, 14 Aug 2018 12:04:17 +0200

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

Diffstat:
Mhugolib/paths/paths.go | 6++----
Mhugolib/resource_chain_test.go | 17+++++++++++++++++
2 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/hugolib/paths/paths.go b/hugolib/paths/paths.go
@@ -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,
 
diff --git a/hugolib/resource_chain_test.go b/hugolib/resource_chain_test.go
@@ -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")
+
+}