shithub: hugo

Download patch

ref: 41805dca9e40e9b0952e04d06074e6fc91140495
parent: 7ee1f25e9ef3be8f99c171e8e7982f4f82c13e16
author: Mitchell Cohen <[email protected]>
date: Sat Jul 1 12:58:52 EDT 2017

hugolib: Render 404.html for all languages

 Fixes #3598

--- a/hugolib/site_render.go
+++ b/hugolib/site_render.go
@@ -239,10 +239,6 @@
 		return nil
 	}
 
-	if s.owner.multilingual.enabled() && (s.Language.Lang != s.owner.multilingual.DefaultLang.Lang) {
-		return nil
-	}
-
 	p := s.newNodePage(kind404)
 
 	p.Title = "404 Page not found"
@@ -256,13 +252,20 @@
 
 	nfLayouts := []string{"404.html"}
 
-	pageOutput, err := newPageOutput(p, false, output.HTMLFormat)
+	htmlOut := output.HTMLFormat
+	htmlOut.BaseName = "404"
+
+	pageOutput, err := newPageOutput(p, false, htmlOut)
 	if err != nil {
 		return err
 	}
 
-	return s.renderAndWritePage("404 page", "404.html", pageOutput, s.appendThemeTemplates(nfLayouts)...)
+	targetPath, err := pageOutput.targetPath()
+	if err != nil {
+		s.Log.ERROR.Printf("Failed to create target path for page %q: %s", p, err)
+	}
 
+	return s.renderAndWritePage("404 page", targetPath, pageOutput, s.appendThemeTemplates(nfLayouts)...)
 }
 
 func (s *Site) renderSitemap() error {