diff --git a/hugolib/rss_test.go b/hugolib/rss_test.go index 9b5130507..d02d98a21 100644 --- a/hugolib/rss_test.go +++ b/hugolib/rss_test.go @@ -57,3 +57,21 @@ func TestRSSOutput(t *testing.T) { t.Errorf("incorrect RSS item count: expected %d, got %d", rssLimit, c) } } + +// Before Hugo 0.49 we set the pseudo page kind RSS on the page when output to RSS. +// This had some unintended side effects, esp. when the only output format for that page +// was RSS. +// For the page kinds that can have multiple output formats, the Kind should be one of the +// standard home, page etc. +// This test has this single purpose: Check that the Kind is that of the source page. +// See https://github.com/gohugoio/hugo/issues/5138 +func TestRSSKind(t *testing.T) { + t.Parallel() + + b := newTestSitesBuilder(t) + b.WithSimpleConfigFile().WithTemplatesAdded("index.rss.xml", `RSS Kind: {{ .Kind }}`) + + b.Build(BuildCfg{}) + + b.AssertFileContent("public/index.xml", "RSS Kind: home") +} diff --git a/hugolib/site_render.go b/hugolib/site_render.go index a0d6506e2..1f2c5c708 100644 --- a/hugolib/site_render.go +++ b/hugolib/site_render.go @@ -248,8 +248,6 @@ func (s *Site) renderRSS(p *PageOutput) error { return nil } - p.Kind = kindRSS - limit := s.Cfg.GetInt("rssLimit") if limit >= 0 && len(p.Pages) > limit { p.Pages = p.Pages[:limit]