fixed trailing dir slash when using slug - hugo - [fork] hugo port for 9front
HTML git clone git@git.drkhsh.at/hugo.git
DIR Log
DIR Files
DIR Refs
DIR Submodules
DIR README
DIR LICENSE
---
DIR commit 860f982cc454a6a5e111eb5b79915cd21f49240e
DIR parent e425226a2802993f4be3689565136965fb5bc58c
HTML Author: Tim Esselens <tim.esselens@gmail.com>
Date: Tue, 19 Nov 2013 14:10:03 +0100
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>
Diffstat:
M hugolib/page.go | 2 +-
M hugolib/page_permalink_test.go | 18 +++++++++++++++---
2 files changed, 16 insertions(+), 4 deletions(-)
---
DIR diff --git a/hugolib/page.go b/hugolib/page.go
@@ -265,7 +265,7 @@ func (p *Page) permalink() (*url.URL, error) {
if p.Site.Config != nil && p.Site.Config.UglyUrls {
permalink = path.Join(dir, p.Slug, p.Extension)
} else {
- permalink = dir + "/" + p.Slug + "/"
+ permalink = path.Join(dir, p.Slug) + "/"
}
} else if len(pUrl) > 2 {
permalink = pUrl
DIR diff --git a/hugolib/page_permalink_test.go b/hugolib/page_permalink_test.go
@@ -7,12 +7,18 @@ import (
func TestPermalink(t *testing.T) {
tests := []struct {
+ file string
+ dir string
base template.URL
+ slug string
expectedAbs string
expectedRel string
}{
- {"", "/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/", "", "", "/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 {
@@ -21,7 +27,13 @@ func TestPermalink(t *testing.T) {
UrlPath: UrlPath{Section: "z"},
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()