ref: bbfebdea433f7b08dbd9d49c2df863c7a24b9665
parent: 93717aac5cba7407e016ab993d7d277d9bad9956
author: Bjørn Erik Pedersen <[email protected]>
date: Thu Aug 11 14:26:45 EDT 2016
Fix Data in multisites Updates #2309
--- a/hugolib/hugo_sites.go
+++ b/hugolib/hugo_sites.go
@@ -373,9 +373,12 @@
}
}
- for i := 1; i < len(h.Sites); i++ {
- h.Sites[i].AllPages = h.Sites[0].AllPages
- }
+ }
+
+ // Pull over the collections from the master site
+ for i := 1; i < len(h.Sites); i++ {
+ h.Sites[i].AllPages = h.Sites[0].AllPages
+ h.Sites[i].Data = h.Sites[0].Data
}
if len(h.Sites) > 1 {
--- a/hugolib/hugo_sites_test.go
+++ b/hugolib/hugo_sites_test.go
@@ -254,6 +254,10 @@
languageRedirect := readDestination(t, "public/index.html")
require.True(t, strings.Contains(languageRedirect, "0; url=http://example.com/blog/fr"), languageRedirect)
+ // check home page content (including data files rendering)
+ assertFileContent(t, "public/en/index.html", true, "Home Page 1", "Hello", "Hugo Rocks!")
+ assertFileContent(t, "public/fr/index.html", true, "Home Page 1", "Bonjour", "Hugo Rocks!")
+
// Check node translations
homeEn := enSite.getNode("home-0")
require.NotNil(t, homeEn)
@@ -729,7 +733,7 @@
if err := afero.WriteFile(hugofs.Source(),
filepath.Join("layouts", "index.html"),
- []byte("{{ $p := .Paginator }}Home Page {{ $p.PageNumber }}: {{ .Title }}|{{ .IsHome }}|{{ i18n \"hello\" }}|{{ .Permalink }}"),
+ []byte("{{ $p := .Paginator }}Home Page {{ $p.PageNumber }}: {{ .Title }}|{{ .IsHome }}|{{ i18n \"hello\" }}|{{ .Permalink }}|{{ .Site.Data.hugo.slogan }}"),
0755); err != nil {
t.Fatalf("Failed to write layout file: %s", err)
}
@@ -885,11 +889,9 @@
t.Fatalf("Failed to write file: %s", err)
}
}
- _, err := hugofs.Source().Open("content/other/doc5.fr.md")
- if err != nil {
- t.Fatalf("Unable to locate file")
- }
+ // Add some data
+ writeSource(t, "data/hugo.toml", "slogan = \"Hugo Rocks!\"")
sites, err := NewHugoSitesFromConfiguration()