diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2016-09-30 17:24:09 +0300 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2016-09-30 17:24:57 +0300 |
commit | bf0dfa3e2d2688aea4a97c8c0fadd1207263ca96 (patch) | |
tree | 6cdfd738511288b4330e2879d7878e1b7d0229ec /hugolib | |
parent | d30c6a26d1e7e85cec1711e192b0f9df04b6a4c2 (diff) |
Fix URL in multilanguage sitemap index
Fixes #2509
Diffstat (limited to 'hugolib')
-rw-r--r-- | hugolib/hugo_sites_test.go | 8 | ||||
-rw-r--r-- | hugolib/site.go | 7 |
2 files changed, 10 insertions, 5 deletions
diff --git a/hugolib/hugo_sites_test.go b/hugolib/hugo_sites_test.go index baaa0ce8f..b7a52b1e4 100644 --- a/hugolib/hugo_sites_test.go +++ b/hugolib/hugo_sites_test.go @@ -116,8 +116,8 @@ func doTestMultiSitesMainLangInRoot(t *testing.T, defaultInSubDir bool) { // Sitemaps behaves different: In a multilanguage setup there will always be a index file and // one sitemap in each lang folder. assertFileContent(t, "public/sitemap.xml", true, - "<loc>http:/example.com/blog/en/sitemap.xml</loc>", - "<loc>http:/example.com/blog/fr/sitemap.xml</loc>") + "<loc>http://example.com/blog/en/sitemap.xml</loc>", + "<loc>http://example.com/blog/fr/sitemap.xml</loc>") if defaultInSubDir { assertFileContent(t, "public/fr/sitemap.xml", true, "<loc>http://example.com/blog/fr/</loc>") @@ -313,8 +313,8 @@ func doTestMultiSitesBuild(t *testing.T, configTemplate, configSuffix string) { // Check sitemap(s) sitemapIndex := readDestination(t, "public/sitemap.xml") - require.True(t, strings.Contains(sitemapIndex, "<loc>http:/example.com/blog/en/sitemap.xml</loc>"), sitemapIndex) - require.True(t, strings.Contains(sitemapIndex, "<loc>http:/example.com/blog/fr/sitemap.xml</loc>"), sitemapIndex) + require.True(t, strings.Contains(sitemapIndex, "<loc>http://example.com/blog/en/sitemap.xml</loc>"), sitemapIndex) + require.True(t, strings.Contains(sitemapIndex, "<loc>http://example.com/blog/fr/sitemap.xml</loc>"), sitemapIndex) sitemapEn := readDestination(t, "public/en/sitemap.xml") sitemapFr := readDestination(t, "public/fr/sitemap.xml") require.True(t, strings.Contains(sitemapEn, "http://example.com/blog/en/sect/doc2/"), sitemapEn) diff --git a/hugolib/site.go b/hugolib/site.go index 8066dbefc..5f02a2c7a 100644 --- a/hugolib/site.go +++ b/hugolib/site.go @@ -878,7 +878,12 @@ func (s *SiteInfo) HomeAbsURL() string { // SitemapAbsURL is a convenience method giving the absolute URL to the sitemap. func (s *SiteInfo) SitemapAbsURL() string { sitemapDefault := parseSitemap(viper.GetStringMap("Sitemap")) - return path.Join(s.HomeAbsURL(), sitemapDefault.Filename) + p := s.HomeAbsURL() + if !strings.HasSuffix(p, "/") { + p += "/" + } + p += sitemapDefault.Filename + return p } func (s *Site) initializeSiteInfo() { |