diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2016-08-08 13:55:18 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2016-09-06 18:32:18 +0300 |
commit | 8da040342eb0a3098e54dc6ed2cb10bac6173230 (patch) | |
tree | 6ebd4750103cb1ac8a2b1aa6ec4bdb8e85d46ea8 /helpers/url.go | |
parent | d953e39e63deac608e7f1442a6c0d5b2fe56180e (diff) |
Render main content language in root by default
Fixes #2312
Diffstat (limited to 'helpers/url.go')
-rw-r--r-- | helpers/url.go | 32 |
1 files changed, 23 insertions, 9 deletions
diff --git a/helpers/url.go b/helpers/url.go index 83273324d..4d06fb042 100644 --- a/helpers/url.go +++ b/helpers/url.go @@ -168,21 +168,32 @@ func AbsURL(in string, addLanguage bool) string { } if addLanguage { - addSlash := in == "" || strings.HasSuffix(in, "/") - in = path.Join(getLanguagePrefix(), in) + prefix := getLanguagePrefix() - if addSlash { - in += "/" + if prefix != "" { + addSlash := in == "" || strings.HasSuffix(in, "/") + in = path.Join(prefix, in) + + if addSlash { + in += "/" + } } } return MakePermalink(baseURL, in).String() } func getLanguagePrefix() string { + defaultLang := viper.GetString("DefaultContentLanguage") + defaultInSubDir := viper.GetBool("DefaultContentLanguageInSubdir") + if !viper.GetBool("Multilingual") { return "" } - return viper.Get("CurrentContentLanguage").(*Language).Lang + currentLang := viper.Get("CurrentContentLanguage").(*Language).Lang + if currentLang == "" || (currentLang == defaultLang && !defaultInSubDir) { + return "" + } + return currentLang } // IsAbsURL determines whether the given path points to an absolute URL. @@ -211,12 +222,15 @@ func RelURL(in string, addLanguage bool) string { } if addLanguage { - hadSlash := strings.HasSuffix(u, "/") + prefix := getLanguagePrefix() + if prefix != "" { + hadSlash := strings.HasSuffix(u, "/") - u = path.Join(getLanguagePrefix(), u) + u = path.Join(prefix, u) - if hadSlash { - u += "/" + if hadSlash { + u += "/" + } } } |