Skip to content

Commit

Permalink
Add config option disableDefaultLanguageRedirect
Browse files Browse the repository at this point in the history
  • Loading branch information
bep committed Dec 12, 2024
1 parent 157d864 commit 3c0421b
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 0 deletions.
3 changes: 3 additions & 0 deletions config/allconfig/allconfig.go
Original file line number Diff line number Diff line change
Expand Up @@ -505,6 +505,9 @@ type RootConfig struct {
// Set this to true to put all languages below their language ID.
DefaultContentLanguageInSubdir bool

// Disable generation of redirect to the default language when DefaultContentLanguageInSubdir is enabled.
DisableDefaultLanguageRedirect bool

// Disable creation of alias redirect pages.
DisableAliases bool

Expand Down
23 changes: 23 additions & 0 deletions hugolib/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1339,6 +1339,29 @@ Home.
b.Assert(len(b.H.Sites), qt.Equals, 1)
}

func TestDisableDefaultLanguageRedirect(t *testing.T) {
t.Parallel()

files := `
-- hugo.toml --
defaultContentLanguageInSubdir = true
disableDefaultLanguageRedirect = true
[languages]
[languages.en]
title = "English Title"
[languages.sv]
title = "Swedish Title"
-- layouts/index.html --
Home.
`
b := Test(t, files)

b.Assert(len(b.H.Sites), qt.Equals, 2)
b.AssertFileExists("public/index.html", false)
}

func TestLoadConfigYamlEnvVar(t *testing.T) {
defaultEnv := []string{`HUGO_OUTPUTS=home: ['json']`}

Expand Down
3 changes: 3 additions & 0 deletions hugolib/site_render.go
Original file line number Diff line number Diff line change
Expand Up @@ -334,6 +334,9 @@ func (s *Site) renderAliases() error {
// renderMainLanguageRedirect creates a redirect to the main language home,
// depending on if it lives in sub folder (e.g. /en) or not.
func (s *Site) renderMainLanguageRedirect() error {
if s.conf.DisableDefaultLanguageRedirect {
return nil
}
if s.h.Conf.IsMultihost() || !(s.h.Conf.DefaultContentLanguageInSubdir() || s.h.Conf.IsMultilingual()) {
// No need for a redirect
return nil
Expand Down

0 comments on commit 3c0421b

Please sign in to comment.