diff options
author | Andrew Brampton <github@bramp.net> | 2015-07-03 14:53:50 -0700 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2015-07-08 08:12:52 +0200 |
commit | c139c6e1ef8ed745bc96d7ba3f84a7e189c4a861 (patch) | |
tree | ed882a576dd2c565c171b273f2b1641d8102981c /helpers/content_renderer.go | |
parent | fdab118010f3b5ad027038bb2b2040d30478852e (diff) |
Add support for GitHub-flavoured markdown code fences for highlighting
This commit adds a new PygmentsCodeFences config option (default false), which if true will allow GitHub style backtick code fences around code, which will then be rendered by Pygments.
For example:
``` language
your code
```
can be used instead of {{< highlight language >}}your code {{< /highlight >}}.
Fixes #362
Diffstat (limited to 'helpers/content_renderer.go')
-rw-r--r-- | helpers/content_renderer.go | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/helpers/content_renderer.go b/helpers/content_renderer.go new file mode 100644 index 000000000..bb5b810ae --- /dev/null +++ b/helpers/content_renderer.go @@ -0,0 +1,23 @@ +package helpers + +import ( + "bytes" + "html" + + "github.com/russross/blackfriday" + "github.com/spf13/viper" +) + +// Wraps a blackfriday.Renderer, typically a blackfriday.Html +type HugoHtmlRenderer struct { + blackfriday.Renderer +} + +func (renderer *HugoHtmlRenderer) BlockCode(out *bytes.Buffer, text []byte, lang string) { + if viper.GetBool("PygmentsCodeFences") { + str := html.UnescapeString(string(text)) + out.WriteString(Highlight(str, lang, "")) + } else { + renderer.Renderer.BlockCode(out, text, lang) + } +} |