mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-21 20:46:30 -05:00
Disable syntax guessing for PygmentsCodeFences by default
This disables highlighting for fenced code blocks without explicitly specified language. It also introduces a new `PygmentsCodeFencesGuessSyntax` config option (defaulting to false). To enable syntax guessing again, add the following to your config file: `PygmentsCodeFencesGuessSyntax = true` This is a breaking change.
This commit is contained in:
parent
0698f294c6
commit
43b5dfabb5
3 changed files with 5 additions and 2 deletions
|
@ -309,6 +309,7 @@ func loadDefaultSettings() {
|
||||||
viper.SetDefault("DisablePathToLower", false)
|
viper.SetDefault("DisablePathToLower", false)
|
||||||
viper.SetDefault("HasCJKLanguage", false)
|
viper.SetDefault("HasCJKLanguage", false)
|
||||||
viper.SetDefault("EnableEmoji", false)
|
viper.SetDefault("EnableEmoji", false)
|
||||||
|
viper.SetDefault("PygmentsCodeFencesGuessSyntax", false)
|
||||||
}
|
}
|
||||||
|
|
||||||
// InitializeConfig initializes a config file with sensible default configuration flags.
|
// InitializeConfig initializes a config file with sensible default configuration flags.
|
||||||
|
|
|
@ -126,6 +126,8 @@ Following is a list of Hugo-defined variables that you can configure and their c
|
||||||
preserveTaxonomyNames: false
|
preserveTaxonomyNames: false
|
||||||
# filesystem path to write files to
|
# filesystem path to write files to
|
||||||
publishdir: "public"
|
publishdir: "public"
|
||||||
|
# enables syntax guessing for code fences without specified language
|
||||||
|
pygmentsCodeFencesGuessSyntax: false
|
||||||
# color-codes for highlighting derived from this style
|
# color-codes for highlighting derived from this style
|
||||||
pygmentsStyle: "monokai"
|
pygmentsStyle: "monokai"
|
||||||
# true: use pygments-css or false: color-codes directly
|
# true: use pygments-css or false: color-codes directly
|
||||||
|
|
|
@ -35,7 +35,7 @@ type HugoHTMLRenderer struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (renderer *HugoHTMLRenderer) BlockCode(out *bytes.Buffer, text []byte, lang string) {
|
func (renderer *HugoHTMLRenderer) BlockCode(out *bytes.Buffer, text []byte, lang string) {
|
||||||
if viper.GetBool("PygmentsCodeFences") {
|
if viper.GetBool("PygmentsCodeFences") && (lang != "" || viper.GetBool("PygmentsCodeFencesGuessSyntax")) {
|
||||||
opts := viper.GetString("PygmentsOptions")
|
opts := viper.GetString("PygmentsOptions")
|
||||||
str := html.UnescapeString(string(text))
|
str := html.UnescapeString(string(text))
|
||||||
out.WriteString(Highlight(str, lang, opts))
|
out.WriteString(Highlight(str, lang, opts))
|
||||||
|
@ -78,7 +78,7 @@ type HugoMmarkHTMLRenderer struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (renderer *HugoMmarkHTMLRenderer) BlockCode(out *bytes.Buffer, text []byte, lang string, caption []byte, subfigure bool, callouts bool) {
|
func (renderer *HugoMmarkHTMLRenderer) BlockCode(out *bytes.Buffer, text []byte, lang string, caption []byte, subfigure bool, callouts bool) {
|
||||||
if viper.GetBool("PygmentsCodeFences") {
|
if viper.GetBool("PygmentsCodeFences") && (lang != "" || viper.GetBool("PygmentsCodeFencesGuessSyntax")) {
|
||||||
str := html.UnescapeString(string(text))
|
str := html.UnescapeString(string(text))
|
||||||
out.WriteString(Highlight(str, lang, ""))
|
out.WriteString(Highlight(str, lang, ""))
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in a new issue