Skip to content

Commit

Permalink
There is only one s.PageTarget() - so we cannot change it, even tempo…
Browse files Browse the repository at this point in the history
…ararily. We have to find another solution to this.

...

Prevent 404.html from prettifying into 404/index.html

Restore @realchaseadams's commit 348e123
"Force `UglyUrls` option to force `404.html` file name"
which got lost after some refactoring (commit 8db3c0b).

Remove the equivalent "force `UglyUrls`" code for `sitemap.xml`
because the refactored code now calls `renderAndWriteXML()`
which uses `WriteDestFile()` which does not prettify a filename.

Fixes gohugoio#939 (reverted from commit c4c19ad)
  • Loading branch information
bep authored and tychoish committed Aug 13, 2017
1 parent ff5445e commit 81d2f65
Showing 1 changed file with 13 additions and 6 deletions.
19 changes: 13 additions & 6 deletions hugolib/site.go
Original file line number Diff line number Diff line change
Expand Up @@ -1249,12 +1249,6 @@ func (s *Site) RenderHomePage() error {
}
}

// Force `UglyUrls` option to force `404.html` file name
if !s.PageTarget().(*target.PagePub).UglyUrls {
s.PageTarget().(*target.PagePub).UglyUrls = true
defer func() { s.PageTarget().(*target.PagePub).UglyUrls = false }()
}

n.Url = helpers.Urlize("404.html")
n.Title = "404 Page not found"
n.Permalink = s.permalink("404.html")
Expand All @@ -1274,6 +1268,8 @@ func (s *Site) RenderSitemap() error {

sitemapDefault := parseSitemap(viper.GetStringMap("Sitemap"))

optChanged := false

n := s.NewNode()

// Prepend homepage to the list of pages
Expand All @@ -1299,12 +1295,23 @@ func (s *Site) RenderSitemap() error {
}
}

// Force `UglyUrls` option to force `sitemap.xml` file name
switch s.PageTarget().(type) {
case *target.Filesystem:
s.PageTarget().(*target.PagePub).UglyUrls = true
optChanged = true
}

smLayouts := []string{"sitemap.xml", "_default/sitemap.xml", "_internal/_default/sitemap.xml"}

if err := s.renderAndWriteXML("sitemap", "sitemap.xml", n, s.appendThemeTemplates(smLayouts)...); err != nil {
return err
}

if optChanged {
s.PageTarget().(*target.PagePub).UglyUrls = viper.GetBool("UglyUrls")
}

return nil
}

Expand Down

0 comments on commit 81d2f65

Please sign in to comment.