1
0
mirror of https://github.com/gohugoio/hugo.git synced 2024-05-11 05:54:58 +00:00

helpers: Avoid adding language prefix if already present

Fixes #2444
This commit is contained in:
Bjørn Erik Pedersen
2016-09-13 21:37:27 +02:00
parent 8d040c966f
commit f53145b274
2 changed files with 21 additions and 2 deletions

View File

@@ -169,8 +169,15 @@ func AbsURL(in string, addLanguage bool) string {
if addLanguage {
prefix := getLanguagePrefix()
hasPrefix := false
// avoid adding language prefix if already present
if strings.HasPrefix(in, "/") {
hasPrefix = strings.HasPrefix(in[1:], prefix)
} else {
hasPrefix = strings.HasPrefix(in, prefix)
}
if prefix != "" {
if prefix != "" && !hasPrefix {
addSlash := in == "" || strings.HasSuffix(in, "/")
in = path.Join(prefix, in)
@@ -224,7 +231,15 @@ func RelURL(in string, addLanguage bool) string {
if addLanguage {
prefix := getLanguagePrefix()
if prefix != "" {
hasPrefix := false
// avoid adding language prefix if already present
if strings.HasPrefix(in, "/") {
hasPrefix = strings.HasPrefix(in[1:], prefix)
} else {
hasPrefix = strings.HasPrefix(in, prefix)
}
if prefix != "" && !hasPrefix {
hadSlash := strings.HasSuffix(u, "/")
u = path.Join(prefix, u)