Fix Data in multisites
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Thu, 11 Aug 2016 16:26:45 +0000 (18:26 +0200)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Tue, 6 Sep 2016 15:32:20 +0000 (18:32 +0300)
Updates #2309

hugolib/hugo_sites.go
hugolib/hugo_sites_test.go

index d05415d98b09192cdcc2f4159035d735187aa752..9aafb953ade788cf2d22397e576ae7f878e87d0c 100644 (file)
@@ -373,9 +373,12 @@ func (h *HugoSites) setupTranslations(master *Site) {
                        }
                }
 
-               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 {
index 50ee1ee721b7f87e1802b00b14bd3a2400994c9f..1529940205af0c8be16cb5938419266787253829 100644 (file)
@@ -254,6 +254,10 @@ func doTestMultiSitesBuild(t *testing.T, configContent, configSuffix string) {
        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 @@ func createMultiTestSitesForConfig(t *testing.T, configContent, configSuffix str
 
        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 @@ lag:
                        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()