hugo

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

git clone git://git.shimmy1996.com/hugo.git
commit 4867cd1dea34ee53fb73cede2bcff4792e470104
parent 92c6c40419bdc13b8bb422a212d1d79240356651
Author: Jeremy Epstein <jazepstein@gmail.com>
Date:   Sun,  7 Feb 2021 04:30:09 +1100

tpl/embedded: Exclude pages without Permalink from sitemap


Diffstat:
Mhugolib/site_test.go | 18++++++++++++++----
Mhugolib/sitemap_test.go | 3+++
Mtpl/tplimpl/embedded/templates.autogen.go | 2++
Mtpl/tplimpl/embedded/templates/_default/sitemap.xml | 2++
4 files changed, 21 insertions(+), 4 deletions(-)
diff --git a/hugolib/site_test.go b/hugolib/site_test.go
@@ -583,11 +583,21 @@ categories = [ "hugo" ]
 +++
 Front Matter with Ordered Pages 4. This is longer content`
 
+var weightedPage5 = `+++
+weight = "5"
+title = "Five"
+
+[_build]
+render = "never"
++++
+Front Matter with Ordered Pages 5`
+
 var weightedSources = [][2]string{
 	{filepath.FromSlash("sect/doc1.md"), weightedPage1},
 	{filepath.FromSlash("sect/doc2.md"), weightedPage2},
 	{filepath.FromSlash("sect/doc3.md"), weightedPage3},
 	{filepath.FromSlash("sect/doc4.md"), weightedPage4},
+	{filepath.FromSlash("sect/doc5.md"), weightedPage5},
 }
 
 func TestOrderedPages(t *testing.T) {
@@ -979,8 +989,8 @@ func TestClassCollector(t *testing.T) {
 
 			b := newTestSitesBuilder(t)
 			b.WithConfigFile("toml", fmt.Sprintf(`
-			
-			
+
+
 minify = %t
 
 [build]
@@ -989,7 +999,7 @@ minify = %t
 `, minify))
 
 			b.WithTemplates("index.html", `
-	
+
 <div id="el1" class="a b c">Foo</div>
 
 Some text.
@@ -1047,7 +1057,7 @@ func TestClassCollectorStress(t *testing.T) {
 
 	b := newTestSitesBuilder(t)
 	b.WithConfigFile("toml", `
-	
+
 disableKinds = ["home", "section", "term", "taxonomy" ]
 
 [languages]
diff --git a/hugolib/sitemap_test.go b/hugolib/sitemap_test.go
@@ -25,12 +25,14 @@ import (
 
 const sitemapTemplate = `<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
   {{ range .Data.Pages }}
+    {{- if .Permalink -}}
   <url>
     <loc>{{ .Permalink }}</loc>{{ if not .Lastmod.IsZero }}
     <lastmod>{{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}</lastmod>{{ end }}{{ with .Sitemap.ChangeFreq }}
     <changefreq>{{ . }}</changefreq>{{ end }}{{ if ge .Sitemap.Priority 0.0 }}
     <priority>{{ .Sitemap.Priority }}</priority>{{ end }}
   </url>
+    {{- end -}}
   {{ end }}
 </urlset>`
 
@@ -80,6 +82,7 @@ func doTestSitemapOutput(t *testing.T, internal bool) {
 
 	content := readDestination(th, th.Fs, outputSitemap)
 	c.Assert(content, qt.Not(qt.Contains), "404")
+	c.Assert(content, qt.Not(qt.Contains), "<loc></loc>")
 }
 
 func TestParseSitemap(t *testing.T) {
diff --git a/tpl/tplimpl/embedded/templates.autogen.go b/tpl/tplimpl/embedded/templates.autogen.go
@@ -63,6 +63,7 @@ var EmbeddedTemplates = [][2]string{
 <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
   xmlns:xhtml="http://www.w3.org/1999/xhtml">
   {{ range .Data.Pages }}
+    {{- if .Permalink -}}
   <url>
     <loc>{{ .Permalink }}</loc>{{ if not .Lastmod.IsZero }}
     <lastmod>{{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}</lastmod>{{ end }}{{ with .Sitemap.ChangeFreq }}
@@ -79,6 +80,7 @@ var EmbeddedTemplates = [][2]string{
                 href="{{ .Permalink }}"
                 />{{ end }}
   </url>
+    {{- end -}}
   {{ end }}
 </urlset>
 `},
diff --git a/tpl/tplimpl/embedded/templates/_default/sitemap.xml b/tpl/tplimpl/embedded/templates/_default/sitemap.xml
@@ -2,6 +2,7 @@
 <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
   xmlns:xhtml="http://www.w3.org/1999/xhtml">
   {{ range .Data.Pages }}
+    {{- if .Permalink -}}
   <url>
     <loc>{{ .Permalink }}</loc>{{ if not .Lastmod.IsZero }}
     <lastmod>{{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}</lastmod>{{ end }}{{ with .Sitemap.ChangeFreq }}
@@ -18,5 +19,6 @@
                 href="{{ .Permalink }}"
                 />{{ end }}
   </url>
+    {{- end -}}
   {{ end }}
 </urlset>