commit b7efbdc12f0a96639b445f7920b6477d88beb744
parent 72bda5ad268866e02bfab7ccf76d9224db6ec7b6
Author: digitalcraftsman <digitalcraftsman@protonmail.com>
Date: Sun, 3 Apr 2016 00:22:31 +0200
hugolib: Add option to disable rendering of 404 page
Fixes #1889
Closes #2037
Diffstat:
3 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/commands/hugo.go b/commands/hugo.go
@@ -127,6 +127,7 @@ var (
canonifyURLs bool
cleanDestination bool
enableRobotsTXT bool
+ disable404 bool
disableRSS bool
disableSitemap bool
draft bool
@@ -214,6 +215,7 @@ func initHugoBuildCommonFlags(cmd *cobra.Command) {
cmd.Flags().BoolVar(&cleanDestination, "cleanDestinationDir", false, "Remove files from destination not found in static directories")
cmd.Flags().BoolVarP(&draft, "buildDrafts", "D", false, "include content marked as draft")
cmd.Flags().BoolVarP(&future, "buildFuture", "F", false, "include content with publishdate in the future")
+ cmd.Flags().BoolVar(&disable404, "disable404", false, "Do not render 404 page")
cmd.Flags().BoolVar(&disableRSS, "disableRSS", false, "Do not build RSS files")
cmd.Flags().BoolVar(&disableSitemap, "disableSitemap", false, "Do not build Sitemap file")
cmd.Flags().StringVarP(&source, "source", "s", "", "filesystem path to read files relative from")
@@ -266,6 +268,7 @@ func loadDefaultSettings() {
viper.SetDefault("cleanDestinationDir", false)
viper.SetDefault("Watch", false)
viper.SetDefault("MetaDataFormat", "toml")
+ viper.SetDefault("Disable404", false)
viper.SetDefault("DisableRSS", false)
viper.SetDefault("DisableSitemap", false)
viper.SetDefault("DisableRobotsTXT", false)
@@ -357,6 +360,9 @@ func InitializeConfig(subCmdVs ...*cobra.Command) error {
if flagChanged(cmdV.Flags(), "canonifyURLs") {
viper.Set("CanonifyURLs", canonifyURLs)
}
+ if flagChanged(cmdV.Flags(), "disable404") {
+ viper.Set("Disable404", disable404)
+ }
if flagChanged(cmdV.Flags(), "disableRSS") {
viper.Set("DisableRSS", disableRSS)
}
diff --git a/docs/content/overview/configuration.md b/docs/content/overview/configuration.md
@@ -96,7 +96,9 @@ Following is a list of Hugo-defined variables that you can configure and their c
# Do not build Sitemap file
disableSitemap: false
# Build robots.txt file
- enableRobotsTXT: false
+ enableRobotsTXT: false
+ # Do not render 404 page
+ disable404: false
# edit new content with this editor, if provided
editor: ""
# Enable Emoji emoticons support for page content.
diff --git a/hugolib/site.go b/hugolib/site.go
@@ -1769,6 +1769,10 @@ func (s *Site) renderHomePage() error {
}
}
+ if viper.GetBool("Disable404") {
+ return nil
+ }
+
// TODO(bep) reusing the Home Node smells trouble
n.URL = helpers.URLize("404.html")
n.IsHome = false