shithub: hugo

Download patch

ref: be964e95a13bce974e4c7af4118979d6fea71112
parent: beffe756a91f4c47e8e8fa622b9a52d213a8c821
author: bep <[email protected]>
date: Wed May 27 16:41:25 EDT 2015

Never remove trailing slash in RelPermalink

Fixed #1174

--- a/helpers/path.go
+++ b/helpers/path.go
@@ -331,6 +331,10 @@
 	if err != nil {
 		return "", err
 	}
+
+	if strings.HasSuffix(path, "/") && !strings.HasSuffix(name, "/") {
+		name += "/"
+	}
 	return name, nil
 }
 
--- a/helpers/path_test.go
+++ b/helpers/path_test.go
@@ -65,6 +65,7 @@
 		expect interface{}
 	}{
 		{filepath.FromSlash("/a/b"), filepath.FromSlash("/a"), filepath.FromSlash("b")},
+		{filepath.FromSlash("/a/b/c/"), filepath.FromSlash("/a"), filepath.FromSlash("b/c/")},
 		{filepath.FromSlash("/c"), filepath.FromSlash("/a/b"), filepath.FromSlash("../../c")},
 		{filepath.FromSlash("/c"), "", false},
 	}
--- a/hugolib/page_permalink_test.go
+++ b/hugolib/page_permalink_test.go
@@ -26,6 +26,9 @@
 	}{
 		{"x/y/z/boofar.md", "x/y/z", "", "", "", false, false, "/x/y/z/boofar/", "/x/y/z/boofar/"},
 		{"x/y/z/boofar.md", "x/y/z/", "", "", "", false, false, "/x/y/z/boofar/", "/x/y/z/boofar/"},
+		// Issue #1174
+		{"x/y/z/boofar.md", "x/y/z", "http://gopher.com/", "", "", false, true, "http://gopher.com/x/y/z/boofar/", "/x/y/z/boofar/"},
+		{"x/y/z/boofar.md", "x/y/z/", "http://gopher.com/", "", "", true, true, "http://gopher.com/x/y/z/boofar.html", "/x/y/z/boofar.html"},
 		{"x/y/z/boofar.md", "x/y/z/", "", "boofar", "", false, false, "/x/y/z/boofar/", "/x/y/z/boofar/"},
 		{"x/y/z/boofar.md", "x/y/z", "http://barnew/", "", "", false, false, "http://barnew/x/y/z/boofar/", "/x/y/z/boofar/"},
 		{"x/y/z/boofar.md", "x/y/z/", "http://barnew/", "boofar", "", false, false, "http://barnew/x/y/z/boofar/", "/x/y/z/boofar/"},