retext plugin to implement SmartyPants.
This package is ESM only:
Node 12+ is needed to use it and it must be import
ed instead of require
d.
npm:
npm install retext-smartypants
import {retext} from 'retext'
import retextSmartypants from 'retext-smartypants'
const file = retext()
.use(retextSmartypants)
.processSync('He said, "A \'simple\' english sentence. . ."')
console.log(String(file))
Yields:
He said, “A ‘simple’ english sentence…”
This package exports no identifiers.
The default export is retextSmartypants
.
Replaces dumb/straight/typewriter punctuation marks with smart/curly punctuation marks.
Create smart quotes (boolean
, default: true
).
Converts straight double and single quotes to smart double or single quotes.
Create smart ellipses (boolean
, default: true
).
Converts triple dot characters (with or without spaces between) into a single Unicode ellipsis character
Create smart quotes from backticks (boolean
or 'all'
, default: true
).
When true
, converts double back-ticks into an opening double quote, and
double straight single quotes into a closing double quote.
When 'all'
: does the preceding and converts single back-ticks into an
opening single quote, and a straight single quote into a closing single
smart quote.
Note: Quotes can not be
true
whenbackticks
is'all'
;
Create smart dashes (boolean
or 'oldschool'
, 'inverted'
, default: true
).
When true
, converts two dashes into an em-dash character.
When 'oldschool'
, converts two dashes into an en-dash, and three dashes into
an em-dash.
When 'inverted'
, converts two dashes into an em-dash, and three dashes into
an en-dash.
See contributing.md
in retextjs/.github
for ways
to get started.
See support.md
for ways to get help.
This project has a code of conduct. By interacting with this repository, organization, or community you agree to abide by its terms.