Fixed bug where Url specified in front matter as pretty url wouldnt render

Signed-off-by: Noah Campbell <noahcampbell@gmail.com>
This commit is contained in:
Mark Sanborn 2013-08-29 09:37:37 -07:00 committed by Noah Campbell
parent 71678a7183
commit 4ed43e8076
2 changed files with 22 additions and 0 deletions

View file

@ -332,6 +332,10 @@ func (s *Site) setOutFile(p *Page) {
// 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
}

View file

@ -16,6 +16,12 @@ content`
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 @@ func TestRenderThingOrDefault(t *testing.T) {
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)
}
}