tpl/embedded: Exclude pages without Permalink from sitemap

This commit is contained in:
Jeremy Epstein 2021-02-07 04:30:09 +11:00 committed by GitHub
parent 92c6c40419
commit 4867cd1dea
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 21 additions and 4 deletions

View file

@ -583,11 +583,21 @@ categories = [ "hugo" ]
+++ +++
Front Matter with Ordered Pages 4. This is longer content` 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{ var weightedSources = [][2]string{
{filepath.FromSlash("sect/doc1.md"), weightedPage1}, {filepath.FromSlash("sect/doc1.md"), weightedPage1},
{filepath.FromSlash("sect/doc2.md"), weightedPage2}, {filepath.FromSlash("sect/doc2.md"), weightedPage2},
{filepath.FromSlash("sect/doc3.md"), weightedPage3}, {filepath.FromSlash("sect/doc3.md"), weightedPage3},
{filepath.FromSlash("sect/doc4.md"), weightedPage4}, {filepath.FromSlash("sect/doc4.md"), weightedPage4},
{filepath.FromSlash("sect/doc5.md"), weightedPage5},
} }
func TestOrderedPages(t *testing.T) { func TestOrderedPages(t *testing.T) {
@ -979,8 +989,8 @@ func TestClassCollector(t *testing.T) {
b := newTestSitesBuilder(t) b := newTestSitesBuilder(t)
b.WithConfigFile("toml", fmt.Sprintf(` b.WithConfigFile("toml", fmt.Sprintf(`
minify = %t minify = %t
[build] [build]
@ -989,7 +999,7 @@ minify = %t
`, minify)) `, minify))
b.WithTemplates("index.html", ` b.WithTemplates("index.html", `
<div id="el1" class="a b c">Foo</div> <div id="el1" class="a b c">Foo</div>
Some text. Some text.
@ -1047,7 +1057,7 @@ func TestClassCollectorStress(t *testing.T) {
b := newTestSitesBuilder(t) b := newTestSitesBuilder(t)
b.WithConfigFile("toml", ` b.WithConfigFile("toml", `
disableKinds = ["home", "section", "term", "taxonomy" ] disableKinds = ["home", "section", "term", "taxonomy" ]
[languages] [languages]

View file

@ -25,12 +25,14 @@ import (
const sitemapTemplate = `<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> const sitemapTemplate = `<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
{{ range .Data.Pages }} {{ range .Data.Pages }}
{{- if .Permalink -}}
<url> <url>
<loc>{{ .Permalink }}</loc>{{ if not .Lastmod.IsZero }} <loc>{{ .Permalink }}</loc>{{ if not .Lastmod.IsZero }}
<lastmod>{{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}</lastmod>{{ end }}{{ with .Sitemap.ChangeFreq }} <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 }} <changefreq>{{ . }}</changefreq>{{ end }}{{ if ge .Sitemap.Priority 0.0 }}
<priority>{{ .Sitemap.Priority }}</priority>{{ end }} <priority>{{ .Sitemap.Priority }}</priority>{{ end }}
</url> </url>
{{- end -}}
{{ end }} {{ end }}
</urlset>` </urlset>`
@ -80,6 +82,7 @@ func doTestSitemapOutput(t *testing.T, internal bool) {
content := readDestination(th, th.Fs, outputSitemap) content := readDestination(th, th.Fs, outputSitemap)
c.Assert(content, qt.Not(qt.Contains), "404") c.Assert(content, qt.Not(qt.Contains), "404")
c.Assert(content, qt.Not(qt.Contains), "<loc></loc>")
} }
func TestParseSitemap(t *testing.T) { func TestParseSitemap(t *testing.T) {

View file

@ -63,6 +63,7 @@ var EmbeddedTemplates = [][2]string{
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml"> xmlns:xhtml="http://www.w3.org/1999/xhtml">
{{ range .Data.Pages }} {{ range .Data.Pages }}
{{- if .Permalink -}}
<url> <url>
<loc>{{ .Permalink }}</loc>{{ if not .Lastmod.IsZero }} <loc>{{ .Permalink }}</loc>{{ if not .Lastmod.IsZero }}
<lastmod>{{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}</lastmod>{{ end }}{{ with .Sitemap.ChangeFreq }} <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 }}" href="{{ .Permalink }}"
/>{{ end }} />{{ end }}
</url> </url>
{{- end -}}
{{ end }} {{ end }}
</urlset> </urlset>
`}, `},

View file

@ -2,6 +2,7 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml"> xmlns:xhtml="http://www.w3.org/1999/xhtml">
{{ range .Data.Pages }} {{ range .Data.Pages }}
{{- if .Permalink -}}
<url> <url>
<loc>{{ .Permalink }}</loc>{{ if not .Lastmod.IsZero }} <loc>{{ .Permalink }}</loc>{{ if not .Lastmod.IsZero }}
<lastmod>{{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}</lastmod>{{ end }}{{ with .Sitemap.ChangeFreq }} <lastmod>{{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}</lastmod>{{ end }}{{ with .Sitemap.ChangeFreq }}
@ -18,5 +19,6 @@
href="{{ .Permalink }}" href="{{ .Permalink }}"
/>{{ end }} />{{ end }}
</url> </url>
{{- end -}}
{{ end }} {{ end }}
</urlset> </urlset>