Combination of Blackfriday options to disable curly quotes and enable smartDashes

Hello,

Among Blackfriday options in config.toml, which combination of options would allow me to achieve the following?

  • Disable curly quotes (“ ”) and use straight quotes (" ") instead
  • Enable smart dashes

I’ve been testing with several combinations, but could not find one, as follows:

  • If I set smartypants to true, quotes always become curly quotes.
  • If I set smartypants to false and smartDashes to true, smart dashes won’t work (-- or --- rendered as it is instead of en-dash or em-dash).

The Hugo version used for test is v0.54.0.

I’m not 100% sure, but I think it’s all or nothing for those two options. smartypants is required for smartdashes to work, so smartdashes come with curly quotes.

From https://github.com/russross/blackfriday/blob/master/html.go

	HTML_USE_SMARTYPANTS                       // enable smart punctuation substitutions
	HTML_SMARTYPANTS_FRACTIONS                 // enable smart fractions (with HTML_USE_SMARTYPANTS)
	HTML_SMARTYPANTS_DASHES                    // enable smart dashes (with HTML_USE_SMARTYPANTS)
	HTML_SMARTYPANTS_LATEX_DASHES              // enable LaTeX-style dashes (with HTML_USE_SMARTYPANTS and HTML_SMARTYPANTS_DASHES)
	HTML_SMARTYPANTS_ANGLED_QUOTES             // enable angled double quotes (with HTML_USE_SMARTYPANTS) for double quotes rendering
	HTML_SMARTYPANTS_QUOTES_NBSP               // enable "French guillemets" (with HTML_USE_SMARTYPANTS)

Appears to be a requirement.

If that is the case, want to work your issue from a different angle? Are curly quotes getting up in yer business? :slight_smile:

1 Like

Unfortunately, no option will allow you to disable “smartification” of only the double quotes while retaining the rest of the smartness.

Ref: https://github.com/russross/blackfriday/blob/11635eb403ff09dbc3a6b5a007ab5ab09151c229/smartypants.go#L395

Note that if smartpants is on, the double (and single) quotes (and few more things) are always smartified.

I hope a Go coder is fed up enough with the current state of Blackfriday to fix this inconsistent API :slight_smile:

1 Like

Thanks for pointing me to the relevant code. I’ll see what I can do about it :slight_smile: