mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-07 20:30:36 -05:00
Fix RSS Title regression
And add tests to make sure it doesn't happen again. Fixes #2645
This commit is contained in:
parent
342b6fe8a5
commit
6a3d1037b3
3 changed files with 12 additions and 26 deletions
|
@ -20,44 +20,27 @@ import (
|
||||||
"github.com/spf13/viper"
|
"github.com/spf13/viper"
|
||||||
)
|
)
|
||||||
|
|
||||||
const rssTemplate = `<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
|
||||||
<channel>
|
|
||||||
<title>{{ .Title }} on {{ .Site.Title }} </title>
|
|
||||||
<link>{{ .Permalink }}</link>
|
|
||||||
<language>en-us</language>
|
|
||||||
<author>Steve Francia</author>
|
|
||||||
<rights>Francia; all rights reserved.</rights>
|
|
||||||
<updated>{{ .Date }}</updated>
|
|
||||||
{{ range .Data.Pages }}
|
|
||||||
<item>
|
|
||||||
<title>{{ .Title }}</title>
|
|
||||||
<link>{{ .Permalink }}</link>
|
|
||||||
<pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 MST" }}</pubDate>
|
|
||||||
<author>Steve Francia</author>
|
|
||||||
<guid>{{ .Permalink }}</guid>
|
|
||||||
<description>{{ .Content | html }}</description>
|
|
||||||
</item>
|
|
||||||
{{ end }}
|
|
||||||
</channel>
|
|
||||||
</rss>`
|
|
||||||
|
|
||||||
func TestRSSOutput(t *testing.T) {
|
func TestRSSOutput(t *testing.T) {
|
||||||
testCommonResetState()
|
testCommonResetState()
|
||||||
|
|
||||||
rssURI := "public/customrss.xml"
|
rssURI := "customrss.xml"
|
||||||
viper.Set("baseURL", "http://auth/bub/")
|
viper.Set("baseURL", "http://auth/bub/")
|
||||||
viper.Set("rssURI", rssURI)
|
viper.Set("rssURI", rssURI)
|
||||||
|
viper.Set("title", "RSSTest")
|
||||||
|
|
||||||
for _, s := range weightedSources {
|
for _, s := range weightedSources {
|
||||||
writeSource(t, filepath.Join("content", s.Name), string(s.Content))
|
writeSource(t, filepath.Join("content", "sect", s.Name), string(s.Content))
|
||||||
}
|
}
|
||||||
|
|
||||||
writeSource(t, filepath.Join("layouts", "rss.xml"), rssTemplate)
|
|
||||||
|
|
||||||
if err := buildAndRenderSite(newSiteDefaultLang()); err != nil {
|
if err := buildAndRenderSite(newSiteDefaultLang()); err != nil {
|
||||||
t.Fatalf("Failed to build site: %s", err)
|
t.Fatalf("Failed to build site: %s", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
assertFileContent(t, filepath.Join("public", rssURI), true, "<?xml", "rss version")
|
// Home RSS
|
||||||
|
assertFileContent(t, filepath.Join("public", rssURI), true, "<?xml", "rss version", "RSSTest")
|
||||||
|
// Section RSS
|
||||||
|
assertFileContent(t, filepath.Join("public", "sect", rssURI), true, "<?xml", "rss version", "Sects on RSSTest")
|
||||||
|
// Taxonomy RSS
|
||||||
|
assertFileContent(t, filepath.Join("public", "categories", "hugo", rssURI), true, "<?xml", "rss version", "Hugo on RSSTest")
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1883,6 +1883,7 @@ func taxonomyRenderer(prepare bool, s *Site, taxes <-chan taxRenderInfo, results
|
||||||
if !viper.GetBool("disableRSS") {
|
if !viper.GetBool("disableRSS") {
|
||||||
// XML Feed
|
// XML Feed
|
||||||
rssNode := s.newNode(fmt.Sprintf("%s-%s-rss", t.plural, t.key))
|
rssNode := s.newNode(fmt.Sprintf("%s-%s-rss", t.plural, t.key))
|
||||||
|
rssNode.Title = n.Title
|
||||||
rssURI := viper.GetString("rssURI")
|
rssURI := viper.GetString("rssURI")
|
||||||
s.setURLs(rssNode, base+"/"+rssURI)
|
s.setURLs(rssNode, base+"/"+rssURI)
|
||||||
rssNode.Data = n.Data
|
rssNode.Data = n.Data
|
||||||
|
@ -2016,6 +2017,7 @@ func (s *Site) renderSectionLists(prepare bool) error {
|
||||||
// XML Feed
|
// XML Feed
|
||||||
rssURI := viper.GetString("rssURI")
|
rssURI := viper.GetString("rssURI")
|
||||||
rssNode := s.newSectionListNode(true, sectionName+"-rss", section, data, 0)
|
rssNode := s.newSectionListNode(true, sectionName+"-rss", section, data, 0)
|
||||||
|
rssNode.Title = n.Title
|
||||||
s.setURLs(rssNode, section+"/"+rssURI)
|
s.setURLs(rssNode, section+"/"+rssURI)
|
||||||
rssLayouts := []string{"section/" + section + ".rss.xml", "_default/rss.xml", "rss.xml", "_internal/_default/rss.xml"}
|
rssLayouts := []string{"section/" + section + ".rss.xml", "_default/rss.xml", "rss.xml", "_internal/_default/rss.xml"}
|
||||||
if err := s.renderAndWriteXML("section "+section+" rss", rssNode.addLangPathPrefix(section+"/"+rssURI), rssNode, s.appendThemeTemplates(rssLayouts)...); err != nil {
|
if err := s.renderAndWriteXML("section "+section+" rss", rssNode.addLangPathPrefix(section+"/"+rssURI), rssNode, s.appendThemeTemplates(rssLayouts)...); err != nil {
|
||||||
|
|
|
@ -623,6 +623,7 @@ date = "2012-01-01"
|
||||||
publishdate = "2012-01-01"
|
publishdate = "2012-01-01"
|
||||||
my_param = "baz"
|
my_param = "baz"
|
||||||
my_date = 2010-05-27T07:32:00Z
|
my_date = 2010-05-27T07:32:00Z
|
||||||
|
categories = [ "hugo" ]
|
||||||
+++
|
+++
|
||||||
Front Matter with Ordered Pages 4. This is longer content`)
|
Front Matter with Ordered Pages 4. This is longer content`)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue