summaryrefslogtreecommitdiffstats
path: root/hugolib
diff options
context:
space:
mode:
authorspf13 <steve.francia@gmail.com>2014-08-28 12:48:31 -0400
committerspf13 <steve.francia@gmail.com>2014-08-28 12:48:31 -0400
commit53b7d5b8a1a42cf19b76a7a901461bd1c2478368 (patch)
tree3c2e361d179a3eeafa3878117c8df9ef62030d3b /hugolib
parent828401cbe6b3f86e1f86a97ad7298e8e72209c48 (diff)
Inner Shortcodes now treated as markdown. fixed #185
Diffstat (limited to 'hugolib')
-rw-r--r--hugolib/shortcode.go2
-rw-r--r--hugolib/shortcode_test.go16
2 files changed, 15 insertions, 3 deletions
diff --git a/hugolib/shortcode.go b/hugolib/shortcode.go
index bfbb1efdb..823426738 100644
--- a/hugolib/shortcode.go
+++ b/hugolib/shortcode.go
@@ -93,7 +93,7 @@ func ShortcodesHandle(stringToParse string, p *Page, t Template) string {
var data = &ShortcodeWithPage{Params: params, Page: p}
if endStart > 0 {
s := stringToParse[leadEnd+3 : leadEnd+endStart]
- data.Inner = template.HTML(CleanP(ShortcodesHandle(s, p, t)))
+ data.Inner = template.HTML(renderBytes([]byte(CleanP(ShortcodesHandle(s, p, t))), p.guessMarkupType()))
remainder := CleanP(stringToParse[leadEnd+endEnd:])
return CleanP(stringToParse[:leadStart]) +
diff --git a/hugolib/shortcode_test.go b/hugolib/shortcode_test.go
index 138d1a6c9..115c70fdd 100644
--- a/hugolib/shortcode_test.go
+++ b/hugolib/shortcode_test.go
@@ -53,8 +53,20 @@ func TestInnerSC(t *testing.T) {
tem.AddInternalShortcode("inside.html", `<div{{with .Get "class"}} class="{{.}}"{{end}}>{{ .Inner }}</div>`)
CheckShortCodeMatch(t, `{{% inside class="aspen" %}}`, `<div class="aspen"></div>`, tem)
- CheckShortCodeMatch(t, `{{% inside class="aspen" %}}More Here{{% /inside %}}`, `<div class="aspen">More Here</div>`, tem)
- CheckShortCodeMatch(t, `{{% inside %}}More Here{{% /inside %}}`, `<div>More Here</div>`, tem)
+ CheckShortCodeMatch(t, `{{% inside class="aspen" %}}More Here{{% /inside %}}`, "<div class=\"aspen\"><p>More Here</p>\n</div>", tem)
+ CheckShortCodeMatch(t, `{{% inside %}}More Here{{% /inside %}}`, "<div><p>More Here</p>\n</div>", tem)
+}
+
+func TestInnerSCWithMarkdown(t *testing.T) {
+ tem := NewTemplate()
+ tem.AddInternalShortcode("inside.html", `<div{{with .Get "class"}} class="{{.}}"{{end}}>{{ .Inner }}</div>`)
+
+ CheckShortCodeMatch(t, `{{% inside %}}
+# More Here
+
+[link](http://spf13.com) and text
+
+{{% /inside %}}`, "<div><h1>More Here</h1>\n\n<p><a href=\"http://spf13.com\">link</a> and text</p>\n</div>", tem)
}
func TestEmbeddedSC(t *testing.T) {