diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2017-03-25 17:46:09 +0100 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2017-03-27 15:43:56 +0200 |
commit | 3cd97951f1cb6d7169a8a84a7b86984c05b2d35c (patch) | |
tree | 17adf86a0af091981ee5f8145db70cc251b4d994 /hugolib | |
parent | ee75e2999b66bd9f258a241c487b6677cf2fa071 (diff) |
hugolib, layout: Consolidate RSS template handling
Diffstat (limited to 'hugolib')
-rw-r--r-- | hugolib/page.go | 25 | ||||
-rw-r--r-- | hugolib/page_output.go | 1 | ||||
-rw-r--r-- | hugolib/site.go | 1 | ||||
-rw-r--r-- | hugolib/site_render.go | 14 |
4 files changed, 6 insertions, 35 deletions
diff --git a/hugolib/page.go b/hugolib/page.go index 11754fb5f..e23f8e1e8 100644 --- a/hugolib/page.go +++ b/hugolib/page.go @@ -661,30 +661,6 @@ func (p *Page) Section() string { return p.Source.Section() } -// TODO(bep) consolidate and test these KindHome switches (see other layouts methods)s -// rssLayouts returns RSS layouts to use for the RSS version of this page, nil -// if no RSS should be rendered. -// TODO(bep) output -func (p *Page) rssLayouts() []string { - switch p.Kind { - case KindHome: - return []string{"rss.xml", "_default/rss.xml", "_internal/_default/rss.xml"} - case KindSection: - section := p.sections[0] - return []string{"section/" + section + ".rss.xml", "_default/rss.xml", "rss.xml", "_internal/_default/rss.xml"} - case KindTaxonomy: - singular := p.s.taxonomiesPluralSingular[p.sections[0]] - return []string{"taxonomy/" + singular + ".rss.xml", "_default/rss.xml", "rss.xml", "_internal/_default/rss.xml"} - case KindTaxonomyTerm: - singular := p.s.taxonomiesPluralSingular[p.sections[0]] - return []string{"taxonomy/" + singular + ".terms.rss.xml", "_default/rss.xml", "rss.xml", "_internal/_default/rss.xml"} - case KindPage: - // No RSS for regular pages - } - - return nil -} - func (s *Site) NewPageFrom(buf io.Reader, name string) (*Page, error) { p, err := s.NewPage(name) if err != nil { @@ -856,7 +832,6 @@ func (p *Page) RelPermalink() string { } func (p *Page) initURLs() error { - // TODO(bep) output if len(p.outputFormats) == 0 { p.outputFormats = p.s.outputFormats[p.Kind] } diff --git a/hugolib/page_output.go b/hugolib/page_output.go index 2416e22b5..5e1a341fc 100644 --- a/hugolib/page_output.go +++ b/hugolib/page_output.go @@ -148,7 +148,6 @@ func (o OutputFormat) MediaType() media.Type { return o.f.MediaType } -// TODO(bep) outputs consider just save this wrapper on Page. // OutputFormats gives the output formats for this Page. func (p *Page) OutputFormats() OutputFormats { var o OutputFormats diff --git a/hugolib/site.go b/hugolib/site.go index b57b132f8..9d88d7605 100644 --- a/hugolib/site.go +++ b/hugolib/site.go @@ -1706,7 +1706,6 @@ func errorCollator(results <-chan error, errs chan<- error) { close(errs) } -// TODO(bep) output remove func (s *Site) appendThemeTemplates(in []string) []string { if !s.PathSpec.ThemeSet() { return in diff --git a/hugolib/site_render.go b/hugolib/site_render.go index bcb6f9582..a63b57e4d 100644 --- a/hugolib/site_render.go +++ b/hugolib/site_render.go @@ -173,13 +173,6 @@ func (s *Site) renderRSS(p *PageOutput) error { return nil } - layouts := p.rssLayouts() - - if layouts == nil { - // No RSS for this Kind of page. - return nil - } - p.Kind = kindRSS // TODO(bep) we zero the date here to get the number of diffs down in @@ -196,6 +189,11 @@ func (s *Site) renderRSS(p *PageOutput) error { p.Data["Pages"] = p.Pages } + layouts := s.layoutHandler.For( + p.layoutDescriptor, + "", + p.outputFormat) + // TODO(bep) output deprecate/handle rssURI targetPath, err := p.targetPath() if err != nil { @@ -203,7 +201,7 @@ func (s *Site) renderRSS(p *PageOutput) error { } return s.renderAndWriteXML(p.Title, - targetPath, p, s.appendThemeTemplates(layouts)...) + targetPath, p, layouts...) } func (s *Site) render404() error { |