diff options
author | spf13 <steve.francia@gmail.com> | 2014-08-28 12:48:31 -0400 |
---|---|---|
committer | spf13 <steve.francia@gmail.com> | 2014-08-28 12:48:31 -0400 |
commit | 53b7d5b8a1a42cf19b76a7a901461bd1c2478368 (patch) | |
tree | 3c2e361d179a3eeafa3878117c8df9ef62030d3b /hugolib | |
parent | 828401cbe6b3f86e1f86a97ad7298e8e72209c48 (diff) |
Inner Shortcodes now treated as markdown. fixed #185
Diffstat (limited to 'hugolib')
-rw-r--r-- | hugolib/shortcode.go | 2 | ||||
-rw-r--r-- | hugolib/shortcode_test.go | 16 |
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) { |