Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gohugoio/hugo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2016-09-30 17:24:09 +0300
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2016-09-30 17:24:57 +0300
commitbf0dfa3e2d2688aea4a97c8c0fadd1207263ca96 (patch)
tree6cdfd738511288b4330e2879d7878e1b7d0229ec /hugolib
parentd30c6a26d1e7e85cec1711e192b0f9df04b6a4c2 (diff)
Fix URL in multilanguage sitemap index
Fixes #2509
Diffstat (limited to 'hugolib')
-rw-r--r--hugolib/hugo_sites_test.go8
-rw-r--r--hugolib/site.go7
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() {