diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2018-11-15 13:35:28 +0100 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2018-11-15 16:37:11 +0100 |
commit | 5df2b79dd2734e9a00ed1692328f58c385676468 (patch) | |
tree | 43c116e383b20e8dcec07cb4ab8ac92d77b171d7 /helpers | |
parent | 12742bac71c65d65dc56548b643debda94757aee (diff) |
Fix Permalink for resource, baseURL with path and canonifyURLs set
Fixes #5226
Diffstat (limited to 'helpers')
-rw-r--r-- | helpers/pathspec.go | 8 | ||||
-rw-r--r-- | helpers/url.go | 10 |
2 files changed, 7 insertions, 11 deletions
diff --git a/helpers/pathspec.go b/helpers/pathspec.go index 847029f44..b82ebd992 100644 --- a/helpers/pathspec.go +++ b/helpers/pathspec.go @@ -69,11 +69,9 @@ func NewPathSpecWithBaseBaseFsProvided(fs *hugofs.Fs, cfg config.Provider, baseB ProcessingStats: NewProcessingStats(p.Lang()), } - if !ps.CanonifyURLs { - basePath := ps.BaseURL.Path() - if basePath != "" && basePath != "/" { - ps.BasePath = basePath - } + basePath := ps.BaseURL.Path() + if basePath != "" && basePath != "/" { + ps.BasePath = basePath } return ps, nil diff --git a/helpers/url.go b/helpers/url.go index f167fd3d2..a24f05b12 100644 --- a/helpers/url.go +++ b/helpers/url.go @@ -283,15 +283,13 @@ func AddContextRoot(baseURL, relativePath string) string { } // PrependBasePath prepends any baseURL sub-folder to the given resource -// if canonifyURLs is disabled. -// If canonifyURLs is set, we will globally prepend the absURL with any sub-folder, -// so avoid doing anything here to avoid getting double paths. -func (p *PathSpec) PrependBasePath(rel string) string { - if p.BasePath != "" { +func (p *PathSpec) PrependBasePath(rel string, isAbs bool) string { + basePath := p.GetBasePath(!isAbs) + if basePath != "" { rel = filepath.ToSlash(rel) // Need to prepend any path from the baseURL hadSlash := strings.HasSuffix(rel, "/") - rel = path.Join(p.BasePath, rel) + rel = path.Join(basePath, rel) if hadSlash { rel += "/" } |