Remove paragraph tags produced by markdownify
authorbep <bjorn.erik.pedersen@gmail.com>
Wed, 1 Apr 2015 13:40:08 +0000 (15:40 +0200)
committerbep <bjorn.erik.pedersen@gmail.com>
Wed, 1 Apr 2015 13:40:09 +0000 (15:40 +0200)
Fixes #1025

tpl/template.go
tpl/template_test.go

index 2db7c4f79860c00c6db99c2054c6c74656556cdc..fc7457e554096b5ac40f79482e52d3f7260d8c1d 100644 (file)
@@ -948,8 +948,14 @@ func Highlight(in interface{}, lang string) template.HTML {
        return template.HTML(helpers.Highlight(html.UnescapeString(str), lang))
 }
 
+var markdownTrimPrefix = []byte("<p>")
+var markdownTrimSuffix = []byte("</p>\n")
+
 func Markdownify(text string) template.HTML {
-       return template.HTML(helpers.RenderBytes(&helpers.RenderingContext{Content: []byte(text), PageFmt: "markdown"}))
+       m := helpers.RenderBytes(&helpers.RenderingContext{Content: []byte(text), PageFmt: "markdown"})
+       m = bytes.TrimPrefix(m, markdownTrimPrefix)
+       m = bytes.TrimSuffix(m, markdownTrimSuffix)
+       return template.HTML(m)
 }
 
 func refPage(page interface{}, ref, methodName string) template.HTML {
index 20a887b1cb71370a4c83b20a4dcc7b07eeccab94..8e99f2fb478628d6cdf393e4db6dc07d4e6d50f0 100644 (file)
@@ -956,7 +956,7 @@ func TestMarkdownify(t *testing.T) {
 
        result := Markdownify("Hello **World!**")
 
-       expect := template.HTML("<p>Hello <strong>World!</strong></p>\n")
+       expect := template.HTML("Hello <strong>World!</strong>")
 
        if result != expect {
                t.Errorf("Markdownify: got '%s', expected '%s'", result, expect)