🗒 Smart quotes for headlines! Follows the AP Style Guide
Per the AP Style Guide, headline quotes work differently than normal English. Where US and UK English specify using double quotes (with single quotes for inner quotations), AP suggests that headlines always use single quotes. This convention is followed by most publications, including The Guardian and Reuters.
Most smart quote libraries follow the rules for body text and thus will assume single quotes in headlines are likely to be apostrophes. This library aims to solve the smart quote issue for this specific use case.
- prepended apostrophes (e.g.
'tis
andthe '60s
) - apostrophes inside words (e.g.
I'll
orthe dog's bone
) - special cases (e.g.
In 'n' Out
) - quotes (double quotes get converted to single quotes)
- plural posessives (e.g.
the lawyers' cars
) - appended apostrophes (e.g.
Ol' Mizzou
) - quotes around apostrophes are handled correctly (e.g.
"'60s era childrens' toys"
) - quotes interspersed with apostrophes are handled correctly (e.g.
"'60s era" childrens' toys
)
- quotes inside quotes (e.g.
"Someone said, 'Something else'"
) - unclosed quotes (e.g. multi-paragraph quotes, which in English may have unclosed quotation marks)
- certain prepended apostrophes (e.g.
'cause I said so
) - certain appended apostrophes (I'm only catching
o'
,ol'
, ands'
) - other special cases besides
'n'
- grammatical rules that aren't US/Canadian English (e.g. UK rules, other languages' quotation marks)
- Hawaiian ʻOkina and similar glottal stops
- foot and inch marks
npm install --save headline-quotes
This library exports both es2015-style modules and regular old commonjs modules, so you can use browserify, rollup, or webpack to include it client-side.
import quote from 'headline-quotes';
quote('"Make Me Smart"'); // ‘Make Me Smart’
var quote = require('headline-quotes');
quote('"Make Me Smart"'); // ‘Make Me Smart’
English is a mishmash of conflicting grammatical rules, so I've probably missed something! Create a pull request with a failing unit test, and I'll gladly help fix it.