Render main content language in root by default

Fixes #2312
This commit is contained in:
Bjørn Erik Pedersen
2016-08-08 13:55:18 +02:00
parent d953e39e63
commit 8da040342e
12 changed files with 296 additions and 129 deletions

View File

@@ -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 += "/"
}
}
}