ref: 4ed43e8076f43bfab371868f6986f583381190b4
parent: 71678a7183bd9b90f121d9116d1363fe8f914045
author: Mark Sanborn <[email protected]>
date: Thu Aug 29 05:37:37 EDT 2013
Fixed bug where Url specified in front matter as pretty url wouldnt render Signed-off-by: Noah Campbell <[email protected]>
--- a/hugolib/site.go
+++ b/hugolib/site.go
@@ -332,6 +332,10 @@
// Always use Url if it's specified
if len(strings.TrimSpace(p.Url)) > 2 {
p.OutFile = strings.TrimSpace(p.Url)
+
+ if strings.HasSuffix(p.OutFile, "/") {
+ p.OutFile = p.OutFile + "index.html"
+ }
return
}
--- a/hugolib/site_test.go
+++ b/hugolib/site_test.go
@@ -16,6 +16,12 @@
var TEMPLATE_MISSING_FUNC = "{{ .Title | funcdoesnotexists }}"
var TEMPLATE_FUNC = "{{ .Title | urlize }}"
+var PAGE_URL_SPECIFIED = `---
+title: simple template
+url: "mycategory/my-whatever-content/"
+---
+content`
+
func pageMust(p *Page, err error) *Page {
if err != nil {
panic(err)
@@ -159,3 +165,15 @@
t.Errorf("Content does not match. Expected '%s', got '%s'", test.expected, html)
}
}}
+
+func TestSetOutFile(t *testing.T) {
+ s := new(Site)
+ p := pageMust(ReadFrom(strings.NewReader(PAGE_URL_SPECIFIED), "content/a/file.md"))
+ s.setOutFile(p)
+
+ expected := "mycategory/my-whatever-content/index.html"
+
+ if p.OutFile != "mycategory/my-whatever-content/index.html" {
+ t.Errorf("Outfile does not match. Expected '%s', got '%s'", expected, p.OutFile)
+ }
+}