diff options
author | Andrew Brampton <bramp@google.com> | 2015-09-07 11:41:02 -0700 |
---|---|---|
committer | spf13 <steve.francia@gmail.com> | 2015-10-05 17:45:37 -0400 |
commit | c2c694f136ab285a077eeac32948ae9474badf47 (patch) | |
tree | 86d86b76f0c1102146c3da2499a22f4fdb95ea1c /helpers/content_renderer.go | |
parent | 7ecf2a55c1c9ddddbde35e0b2f8825d7634ef6d3 (diff) |
Add GitHub style code fence support to mmark
Fixes #1258.
Diffstat (limited to 'helpers/content_renderer.go')
-rw-r--r-- | helpers/content_renderer.go | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/helpers/content_renderer.go b/helpers/content_renderer.go index bb5b810ae..77db6833c 100644 --- a/helpers/content_renderer.go +++ b/helpers/content_renderer.go @@ -6,9 +6,11 @@ import ( "github.com/russross/blackfriday" "github.com/spf13/viper" + "github.com/miekg/mmark" ) // Wraps a blackfriday.Renderer, typically a blackfriday.Html +// Enabling Hugo to customise the rendering experience type HugoHtmlRenderer struct { blackfriday.Renderer } @@ -21,3 +23,18 @@ func (renderer *HugoHtmlRenderer) BlockCode(out *bytes.Buffer, text []byte, lang renderer.Renderer.BlockCode(out, text, lang) } } + +// Wraps a mmark.Renderer, typically a mmark.html +// Enabling Hugo to customise the rendering experience +type HugoMmarkHtmlRenderer struct { + mmark.Renderer +} + +func (renderer *HugoMmarkHtmlRenderer) BlockCode(out *bytes.Buffer, text []byte, lang string, caption []byte, subfigure bool, callouts bool) { + if viper.GetBool("PygmentsCodeFences") { + str := html.UnescapeString(string(text)) + out.WriteString(Highlight(str, lang, "")) + } else { + renderer.Renderer.BlockCode(out, text, lang, caption, subfigure, callouts) + } +} |