shithub: hugo

Download patch

ref: ebdd8cba3f5965a8ac897833f313d772271de649
parent: 8125b4b03d10eb73f8aea3f9ea41172aba8df082
author: Bjørn Erik Pedersen <[email protected]>
date: Tue Jan 23 04:48:04 EST 2018

helpers: Avoid unescape in highlight

Fixes #4219

--- a/helpers/content_renderer.go
+++ b/helpers/content_renderer.go
@@ -15,7 +15,6 @@
 
 import (
 	"bytes"
-	"html"
 	"strings"
 
 	"github.com/gohugoio/hugo/config"
@@ -36,7 +35,7 @@
 func (r *HugoHTMLRenderer) BlockCode(out *bytes.Buffer, text []byte, lang string) {
 	if r.Cfg.GetBool("pygmentsCodeFences") && (lang != "" || r.Cfg.GetBool("pygmentsCodeFencesGuessSyntax")) {
 		opts := r.Cfg.GetString("pygmentsOptions")
-		str := strings.Trim(html.UnescapeString(string(text)), "\n\r")
+		str := strings.Trim(string(text), "\n\r")
 		highlighted, _ := r.cs.Highlight(str, lang, opts)
 		out.WriteString(highlighted)
 	} else {
@@ -100,7 +99,7 @@
 // Pygments is used if it is setup to handle code fences.
 func (r *HugoMmarkHTMLRenderer) BlockCode(out *bytes.Buffer, text []byte, lang string, caption []byte, subfigure bool, callouts bool) {
 	if r.Cfg.GetBool("pygmentsCodeFences") && (lang != "" || r.Cfg.GetBool("pygmentsCodeFencesGuessSyntax")) {
-		str := strings.Trim(html.UnescapeString(string(text)), "\n\r")
+		str := strings.Trim(string(text), "\n\r")
 		highlighted, _ := r.cs.Highlight(str, lang, "")
 		out.WriteString(highlighted)
 	} else {