diff --git a/md/md_renderer.go b/md/md_renderer.go index d5c8455..ebc06d5 100644 --- a/md/md_renderer.go +++ b/md/md_renderer.go @@ -264,6 +264,9 @@ func (r *Renderer) codeBlock(w io.Writer, node *ast.CodeBlock) { } r.outs(w, "\n") r.out(w, text) + if len(text) == 0 || text[len(text)-1] != '\n' { + r.outs(w, "\n") + } r.outs(w, "```\n\n") } diff --git a/md/md_renderer_test.go b/md/md_renderer_test.go index eef736e..3535184 100644 --- a/md/md_renderer_test.go +++ b/md/md_renderer_test.go @@ -73,7 +73,7 @@ func TestRenderCode(t *testing.T) { func TestRenderCodeBlock(t *testing.T) { input := &ast.CodeBlock{Info: []byte(string("scala"))} input.Literal = []byte(string("val x : Int = 42")) - expected := "\n```scala\nval x : Int = 42\n```\n" + expected := "\n```scala\nval x : Int = 42\n```\n\n" testRendering(t, input, expected) }