diff options
-rw-r--r-- | docs/content/readfiles/bfconfig.md | 5 | ||||
-rw-r--r-- | helpers/content.go | 6 | ||||
-rw-r--r-- | helpers/content_test.go | 2 |
3 files changed, 13 insertions, 0 deletions
diff --git a/docs/content/readfiles/bfconfig.md b/docs/content/readfiles/bfconfig.md index 67b349f83..98e357678 100644 --- a/docs/content/readfiles/bfconfig.md +++ b/docs/content/readfiles/bfconfig.md @@ -8,6 +8,11 @@ Blackfriday flag: **`HTML_USE_SMARTYPANTS`** <br> Purpose: `false` disables smart punctuation substitutions, including smart quotes, smart dashes, smart fractions, etc. If `true`, it may be fine-tuned with the `angledQuotes`, `fractions`, `smartDashes`, and `latexDashes` flags (see below). +`smartypantsQuotesNBSP` +: default: **`false`** <br> + Blackfriday flag: **`HTML_SMARTYPANTS_QUOTES_NBSP`** <br> + Purpose: `true` enables French style Guillemets with non-breaking space inside the quotes. + `angledQuotes` : default: **`false`**<br> Blackfriday flag: **`HTML_SMARTYPANTS_ANGLED_QUOTES`**<br> diff --git a/helpers/content.go b/helpers/content.go index 350d1a685..d84fe27a8 100644 --- a/helpers/content.go +++ b/helpers/content.go @@ -63,6 +63,7 @@ func NewContentSpec(cfg config.Provider) *ContentSpec { // Blackfriday holds configuration values for Blackfriday rendering. type Blackfriday struct { Smartypants bool + SmartypantsQuotesNBSP bool AngledQuotes bool Fractions bool HrefTargetBlank bool @@ -81,6 +82,7 @@ func (c ContentSpec) NewBlackfriday() *Blackfriday { defaultParam := map[string]interface{}{ "smartypants": true, "angledQuotes": false, + "smartypantsQuotesNBSP": false, "fractions": true, "hrefTargetBlank": false, "smartDashes": true, @@ -229,6 +231,10 @@ func (c ContentSpec) getHTMLRenderer(defaultFlags int, ctx *RenderingContext) bl htmlFlags |= blackfriday.HTML_USE_SMARTYPANTS } + if ctx.Config.SmartypantsQuotesNBSP { + htmlFlags |= blackfriday.HTML_SMARTYPANTS_QUOTES_NBSP + } + if ctx.Config.AngledQuotes { htmlFlags |= blackfriday.HTML_SMARTYPANTS_ANGLED_QUOTES } diff --git a/helpers/content_test.go b/helpers/content_test.go index 95261efdf..e1fe5cebd 100644 --- a/helpers/content_test.go +++ b/helpers/content_test.go @@ -171,6 +171,7 @@ func TestGetHTMLRendererAllFlags(t *testing.T) { {blackfriday.HTML_USE_XHTML}, {blackfriday.HTML_FOOTNOTE_RETURN_LINKS}, {blackfriday.HTML_USE_SMARTYPANTS}, + {blackfriday.HTML_SMARTYPANTS_QUOTES_NBSP}, {blackfriday.HTML_SMARTYPANTS_ANGLED_QUOTES}, {blackfriday.HTML_SMARTYPANTS_FRACTIONS}, {blackfriday.HTML_HREF_TARGET_BLANK}, @@ -186,6 +187,7 @@ func TestGetHTMLRendererAllFlags(t *testing.T) { ctx.Config.PlainIDAnchors = true ctx.Config.SmartDashes = true ctx.Config.Smartypants = true + ctx.Config.SmartypantsQuotesNBSP = true ctx.Config.SourceRelativeLinksEval = true renderer := c.getHTMLRenderer(defaultFlags, ctx) actualFlags := renderer.GetFlags() |