smartypants()

Apply typographic replacements for quotes, dashes, and ellipses.

import { smartypants } from "@unifast/node";

Signature

function smartypants(options?: SmartypantsOptions): UnifastPlugin

Parameters

options?

Configuration for which replacements to apply

PropertyTypeDefaultDescription
quotesbooleantrueReplace straight quotes with curly quotes
dashesbooleantrueReplace – with en-dash and — with em-dash
ellipsesbooleantrueReplace … with an ellipsis character

Usage

import { compile, smartypants } from "@unifast/node";

const result = compile(md, {
  plugins: [
    smartypants({
      quotes: true,
      dashes: true,
      ellipses: true,
    }),
  ],
});

Examples

Typographic replacements

SourceResult
"Hello"curly double quotes
'Hi'curly single quotes
--en-dash (–)
---em-dash (—)
...ellipsis (…)