diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2016-08-11 23:57:17 +0300 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2016-09-06 18:32:20 +0300 |
commit | 1bce8a854bc157e20c156c57b85bbab999e2c539 (patch) | |
tree | cd5097151b6c8868cfc25ee736b9cf365765bfde /hugolib | |
parent | bbfebdea433f7b08dbd9d49c2df863c7a24b9665 (diff) |
Create a copy of the section node for RSS
So the Permalink gets correct when listing translations.
I have also checked the other relevant places to make sure we do not overwrite node values we need later.
Pointers can be tricky, but lesson learned is: A copy is cheap.
Updates #2309
Diffstat (limited to 'hugolib')
-rw-r--r-- | hugolib/site.go | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/hugolib/site.go b/hugolib/site.go index 94c9efab7..aa89b6929 100644 --- a/hugolib/site.go +++ b/hugolib/site.go @@ -1855,9 +1855,11 @@ func (s *Site) renderSectionLists(prepare bool) error { if !viper.GetBool("DisableRSS") && section != "" { // XML Feed rssuri := viper.GetString("RSSUri") - s.setURLs(n, section+"/"+rssuri) + c := *n + rssNode := &c + 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", n.addLangPathPrefix(section+"/"+rssuri), n, s.appendThemeTemplates(rssLayouts)...); err != nil { + if err := s.renderAndWriteXML("section "+section+" rss", rssNode.addLangPathPrefix(section+"/"+rssuri), rssNode, s.appendThemeTemplates(rssLayouts)...); err != nil { return err } } |