URI: 
       Add non-string support in markdownify - hugo - [fork] hugo port for 9front
  HTML git clone git@git.drkhsh.at/hugo.git
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
   DIR README
   DIR LICENSE
       ---
   DIR commit 273a68400ff081d05508afbcb6d158711b865307
   DIR parent 7cbafa4ec58abc7e338e33bef16a84ef1d8a5ff2
  HTML Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
       Date:   Fri,  6 May 2016 10:11:17 +0200
       
       Add non-string support in markdownify
       
       Diffstat:
         M tpl/template_funcs.go               |       3 ++-
         M tpl/template_funcs_test.go          |      18 ++++++++++++------
       
       2 files changed, 14 insertions(+), 7 deletions(-)
       ---
   DIR diff --git a/tpl/template_funcs.go b/tpl/template_funcs.go
       @@ -1203,7 +1203,8 @@ var markdownTrimPrefix = []byte("<p>")
        var markdownTrimSuffix = []byte("</p>\n")
        
        // markdownify renders a given string from Markdown to HTML.
       -func markdownify(text string) template.HTML {
       +func markdownify(in interface{}) template.HTML {
       +        text := cast.ToString(in)
                m := helpers.RenderBytes(&helpers.RenderingContext{Content: []byte(text), PageFmt: "markdown"})
                m = bytes.TrimPrefix(m, markdownTrimPrefix)
                m = bytes.TrimSuffix(m, markdownTrimSuffix)
   DIR diff --git a/tpl/template_funcs_test.go b/tpl/template_funcs_test.go
       @@ -1699,13 +1699,19 @@ func TestReturnWhenSet(t *testing.T) {
        }
        
        func TestMarkdownify(t *testing.T) {
       -        result := markdownify("Hello **World!**")
       -
       -        expect := template.HTML("Hello <strong>World!</strong>")
       -
       -        if result != expect {
       -                t.Errorf("Markdownify: got '%s', expected '%s'", result, expect)
       +        for i, this := range []struct {
       +                in     interface{}
       +                expect interface{}
       +        }{
       +                {"Hello **World!**", template.HTML("Hello <strong>World!</strong>")},
       +                {[]byte("Hello Bytes **World!**"), template.HTML("Hello Bytes <strong>World!</strong>")},
       +        } {
       +                result := markdownify(this.in)
       +                if !reflect.DeepEqual(result, this.expect) {
       +                        t.Errorf("[%d] markdownify got %v (type %v) but expected %v (type %v)", i, result, reflect.TypeOf(result), this.expect, reflect.TypeOf(this.expect))
       +                }
                }
       +
        }
        
        func TestApply(t *testing.T) {