mirror of
https://github.com/gohugoio/hugo.git
synced 2025-04-07 21:05:35 +00:00
fixed trailing dir slash when using slug
See testcase, dir + slug contained double slash when dir had a trailing slash. Signed-off-by: Noah Campbell <noahcampbell@gmail.com>
This commit is contained in:
parent
e425226a28
commit
860f982cc4
2 changed files with 16 additions and 4 deletions
|
@ -265,7 +265,7 @@ func (p *Page) permalink() (*url.URL, error) {
|
||||||
if p.Site.Config != nil && p.Site.Config.UglyUrls {
|
if p.Site.Config != nil && p.Site.Config.UglyUrls {
|
||||||
permalink = path.Join(dir, p.Slug, p.Extension)
|
permalink = path.Join(dir, p.Slug, p.Extension)
|
||||||
} else {
|
} else {
|
||||||
permalink = dir + "/" + p.Slug + "/"
|
permalink = path.Join(dir, p.Slug) + "/"
|
||||||
}
|
}
|
||||||
} else if len(pUrl) > 2 {
|
} else if len(pUrl) > 2 {
|
||||||
permalink = pUrl
|
permalink = pUrl
|
||||||
|
|
|
@ -7,12 +7,18 @@ import (
|
||||||
|
|
||||||
func TestPermalink(t *testing.T) {
|
func TestPermalink(t *testing.T) {
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
|
file string
|
||||||
|
dir string
|
||||||
base template.URL
|
base template.URL
|
||||||
|
slug string
|
||||||
expectedAbs string
|
expectedAbs string
|
||||||
expectedRel string
|
expectedRel string
|
||||||
}{
|
}{
|
||||||
{"", "/x/y/z/boofar", "/x/y/z/boofar"},
|
{"x/y/z/boofar.md", "x/y/z", "", "", "/x/y/z/boofar", "/x/y/z/boofar"},
|
||||||
{"http://barnew/", "http://barnew/x/y/z/boofar", "/x/y/z/boofar"},
|
{"x/y/z/boofar.md", "x/y/z/", "", "", "/x/y/z/boofar", "/x/y/z/boofar"},
|
||||||
|
{"x/y/z/boofar.md", "x/y/z/", "", "boofar", "/x/y/z/boofar/", "/x/y/z/boofar/"},
|
||||||
|
{"x/y/z/boofar.md", "x/y/z", "http://barnew/", "", "http://barnew/x/y/z/boofar", "/x/y/z/boofar"},
|
||||||
|
{"x/y/z/boofar.md", "x/y/z/", "http://barnew/", "boofar", "http://barnew/x/y/z/boofar/", "/x/y/z/boofar/"},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, test := range tests {
|
for _, test := range tests {
|
||||||
|
@ -21,7 +27,13 @@ func TestPermalink(t *testing.T) {
|
||||||
UrlPath: UrlPath{Section: "z"},
|
UrlPath: UrlPath{Section: "z"},
|
||||||
Site: SiteInfo{BaseUrl: test.base},
|
Site: SiteInfo{BaseUrl: test.base},
|
||||||
},
|
},
|
||||||
File: File{FileName: "x/y/z/boofar.md", Dir: "x/y/z"},
|
File: File{FileName: test.file, Dir: test.dir},
|
||||||
|
}
|
||||||
|
|
||||||
|
if test.slug != "" {
|
||||||
|
p.update(map[string]interface{}{
|
||||||
|
"slug": test.slug,
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
u, err := p.Permalink()
|
u, err := p.Permalink()
|
||||||
|
|
Loading…
Add table
Reference in a new issue