summaryrefslogtreecommitdiffstats
path: root/helpers/content_renderer.go
diff options
context:
space:
mode:
authorAndrew Brampton <bramp@google.com>2015-09-07 11:41:02 -0700
committerspf13 <steve.francia@gmail.com>2015-10-05 17:45:37 -0400
commitc2c694f136ab285a077eeac32948ae9474badf47 (patch)
tree86d86b76f0c1102146c3da2499a22f4fdb95ea1c /helpers/content_renderer.go
parent7ecf2a55c1c9ddddbde35e0b2f8825d7634ef6d3 (diff)
Add GitHub style code fence support to mmark
Fixes #1258.
Diffstat (limited to 'helpers/content_renderer.go')
-rw-r--r--helpers/content_renderer.go17
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)
+ }
+}