node to page: Render aliases before pages
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sat, 19 Nov 2016 11:09:06 +0000 (12:09 +0100)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Tue, 22 Nov 2016 08:57:03 +0000 (09:57 +0100)
Some sites, Hugo docs included, have faulty alias definitions that point
to itself or another real page. These will be overwritten in the next step.

This is how it behaves in Hugo 0.17, too.

Updates #2297

hugolib/site.go

index 04673ca04a6b53b6b806dbbe748259d6fe565438..7d1071ac70e6d81206eb78a86b3fc424b74c7402 100644 (file)
@@ -814,15 +814,19 @@ func (s *Site) render() (err error) {
        }
        s.timerStep("prepare pages")
 
-       if err = s.renderPages(); err != nil {
+       // Aliases must be rendered before pages.
+       // Some sites, Hugo docs included, have faulty alias definitions that point
+       // to itself or another real page. These will be overwritten in the next
+       // step.
+       if err = s.renderAliases(); err != nil {
                return
        }
-       s.timerStep("render and write pages")
+       s.timerStep("render and write aliases")
 
-       if err = s.renderAliases(); err != nil {
+       if err = s.renderPages(); err != nil {
                return
        }
-       s.timerStep("render and write aliases")
+       s.timerStep("render and write pages")
 
        if err = s.renderSitemap(); err != nil {
                return