hugo/helpers/content_renderer.go
Andrew Brampton c139c6e1ef 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
2015-07-08 08:12:52 +02:00

24 lines
508 B
Go

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)
}
}