diff --git a/hugolib/rss_test.go b/hugolib/rss_test.go index 11c29cb32..497c0325a 100644 --- a/hugolib/rss_test.go +++ b/hugolib/rss_test.go @@ -56,10 +56,10 @@ func TestRSSOutput(t *testing.T) { t.Fatalf("Unable to RenderHomePage: %s", err) } - file, err := hugofs.DestinationFS.Open("rss.xml") + file, err := hugofs.DestinationFS.Open("index.xml") if err != nil { - t.Fatalf("Unable to locate: %s", "rss.xml") + t.Fatalf("Unable to locate: %s", "index.xml") } rss := helpers.ReaderToBytes(file) diff --git a/hugolib/site.go b/hugolib/site.go index 28e6f0a58..f879c5245 100644 --- a/hugolib/site.go +++ b/hugolib/site.go @@ -868,14 +868,15 @@ func taxonomyRenderer(s *Site, taxes <-chan taxRenderInfo, results chan<- error, if !viper.GetBool("DisableRSS") { // XML Feed - s.setUrls(n, base+".xml") + n.Url = s.permalinkStr(base + "/index.xml") + n.Permalink = s.permalink(base) rssLayouts := []string{"taxonomy/" + t.singular + ".rss.xml", "_default/rss.xml", "rss.xml", "_internal/_default/rss.xml"} b, err := s.renderXML("taxonomy "+t.singular+" rss", n, s.appendThemeTemplates(rssLayouts)...) if err != nil { results <- err continue } else { - err := s.WriteDestFile(base+".xml", b) + err := s.WriteDestFile(base+"/index.xml", b) if err != nil { results <- err } @@ -935,16 +936,16 @@ func (s *Site) RenderSectionLists() error { return err } - if !viper.GetBool("DisableRSS") { + if !viper.GetBool("DisableRSS") && section != "" { // XML Feed - fmt.Println("Section...") + n.Url = s.permalinkStr(section + "/index.xml") + n.Permalink = s.permalink(section) rssLayouts := []string{"section/" + section + ".rss.xml", "_default/rss.xml", "rss.xml", "_internal/_default/rss.xml"} - s.setUrls(n, section+".xml") b, err = s.renderXML("section "+section+" rss", n, s.appendThemeTemplates(rssLayouts)...) if err != nil { return err } - if err := s.WriteDestFile(section+".xml", b); err != nil { + if err := s.WriteDestFile(section+"/index.xml", b); err != nil { return err } } @@ -973,9 +974,8 @@ func (s *Site) RenderHomePage() error { if !viper.GetBool("DisableRSS") { // XML Feed - n.Url = helpers.Urlize("index.xml") - n.Title = "Recent Content" - n.Permalink = s.permalink("index.xml") + n.Url = s.permalinkStr("index.xml") + n.Title = "" high := 50 if len(s.Pages) < high { high = len(s.Pages) @@ -985,15 +985,13 @@ func (s *Site) RenderHomePage() error { n.Date = s.Pages[0].Date } - if !viper.GetBool("DisableRSS") { - rssLayouts := []string{"rss.xml", "_default/rss.xml", "_internal/_default/rss.xml"} - b, err := s.renderXML("homepage rss", n, s.appendThemeTemplates(rssLayouts)...) - if err != nil { - return err - } - if err := s.WriteDestFile("rss.xml", b); err != nil { - return err - } + rssLayouts := []string{"rss.xml", "_default/rss.xml", "_internal/_default/rss.xml"} + b, err := s.renderXML("homepage rss", n, s.appendThemeTemplates(rssLayouts)...) + if err != nil { + return err + } + if err := s.WriteDestFile("index.xml", b); err != nil { + return err } } diff --git a/hugolib/template_embedded.go b/hugolib/template_embedded.go index 14729cadf..6f21e5570 100644 --- a/hugolib/template_embedded.go +++ b/hugolib/template_embedded.go @@ -45,13 +45,15 @@ func (t *GoHtmlTemplate) EmbedTemplates() { t.AddInternalTemplate("_default", "rss.xml", ` - {{ .Title }} on {{ .Site.Title }} - Hugo + {{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }} {{ .Permalink }} + Recent content {{ with .Title }}in {{.}} {{ end }}on {{ .Site.Title }} + Hugo -- gohugo.io {{ with .Site.LanguageCode }}{{.}}{{end}} {{ with .Site.Author.name }}{{.}}{{end}} {{ with .Site.Copyright }}{{.}}{{end}} - {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 MST" }} + {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 MST" }} + {{ range first 15 .Data.Pages }} {{ .Title }}