node to page: Handle RSS

Updates #2297
This commit is contained in:
Bjørn Erik Pedersen
2016-11-02 21:34:19 +01:00
parent 75c38071d8
commit 3ff25b37a3
5 changed files with 84 additions and 10 deletions

View File

@@ -76,6 +76,10 @@ func pageRenderer(s *Site, pages <-chan *Page, results chan<- error, wg *sync.Wa
results <- err
}
}
if err := s.renderRSS(p); err != nil {
results <- err
}
}
}
@@ -121,3 +125,25 @@ func (s *Site) renderPaginator(p *Page) error {
}
return nil
}
func (s *Site) renderRSS(p *Page) error {
layouts := p.rssLayouts()
if layouts == nil {
// No RSS for this NodeType
return nil
}
// TODO(bep) np check RSS titles
rssNode := p.copy()
// TODO(bep) np todelido URL
rssURI := s.Language.GetString("rssURI")
rssNode.URLPath.URL = path.Join(rssNode.URLPath.URL, rssURI)
if err := s.renderAndWriteXML(rssNode.Title, rssNode.URLPath.URL, rssNode, s.appendThemeTemplates(layouts)...); err != nil {
return err
}
return nil
}