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"
|
||||
)
|
||||
|
||||
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) {
|
||||
testCommonResetState()
|
||||
|
||||
rssURI := "public/customrss.xml"
|
||||
rssURI := "customrss.xml"
|
||||
viper.Set("baseURL", "http://auth/bub/")
|
||||
viper.Set("rssURI", rssURI)
|
||||
viper.Set("title", "RSSTest")
|
||||
|
||||
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 {
|
||||
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") {
|
||||
// XML Feed
|
||||
rssNode := s.newNode(fmt.Sprintf("%s-%s-rss", t.plural, t.key))
|
||||
rssNode.Title = n.Title
|
||||
rssURI := viper.GetString("rssURI")
|
||||
s.setURLs(rssNode, base+"/"+rssURI)
|
||||
rssNode.Data = n.Data
|
||||
|
@ -2016,6 +2017,7 @@ func (s *Site) renderSectionLists(prepare bool) error {
|
|||
// XML Feed
|
||||
rssURI := viper.GetString("rssURI")
|
||||
rssNode := s.newSectionListNode(true, sectionName+"-rss", section, data, 0)
|
||||
rssNode.Title = n.Title
|
||||
s.setURLs(rssNode, section+"/"+rssURI)
|
||||
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 {
|
||||
|
|
|
@ -623,6 +623,7 @@ date = "2012-01-01"
|
|||
publishdate = "2012-01-01"
|
||||
my_param = "baz"
|
||||
my_date = 2010-05-27T07:32:00Z
|
||||
categories = [ "hugo" ]
|
||||
+++
|
||||
Front Matter with Ordered Pages 4. This is longer content`)
|
||||
|
||||
|
|
Loading…
Reference in a new issue