Skip to content

Commit

Permalink
hugolib: Add option to disable rendering of 404 page
Browse files Browse the repository at this point in the history
  • Loading branch information
digitalcraftsman authored and tychoish committed Aug 13, 2017
1 parent 690ea2b commit 671a230
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 1 deletion.
6 changes: 6 additions & 0 deletions commands/hugo.go
Expand Up @@ -127,6 +127,7 @@ var (
canonifyURLs bool
cleanDestination bool
enableRobotsTXT bool
disable404 bool
disableRSS bool
disableSitemap bool
draft bool
Expand Down Expand Up @@ -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")
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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)
}
Expand Down
4 changes: 3 additions & 1 deletion docs/content/overview/configuration.md
Expand Up @@ -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.
Expand Down
4 changes: 4 additions & 0 deletions hugolib/site.go
Expand Up @@ -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
Expand Down

0 comments on commit 671a230

Please sign in to comment.