From 5c85b3d2d6b505f047dd4a05d6ed333ded15430c Mon Sep 17 00:00:00 2001 From: Steffen van Bergerem Date: Mon, 5 Jan 2015 03:42:44 +0100 Subject: [PATCH] Add more typographer replacement rules --- lib/rules_core/replacements.js | 12 +++++++-- support/demo_template/sample.md | 2 +- test/fixtures/markdown-it/typographer.txt | 32 +++++++++++++++++++++++ 3 files changed, 43 insertions(+), 3 deletions(-) diff --git a/lib/rules_core/replacements.js b/lib/rules_core/replacements.js index 8762c69..96b44d8 100644 --- a/lib/rules_core/replacements.js +++ b/lib/rules_core/replacements.js @@ -1,4 +1,4 @@ -// Simple typographyc replacements +// Simple typographic replacements // // '' → ‘’ // "" → “”. Set '«»' for Russian, '„“' for German, empty to disable @@ -6,6 +6,10 @@ // (tm) (TM) → ™ // (r) (R) → ® // +- → ± +// <3 → ♥ +// <-> → ↔ +// <- → ← +// -> → → // (p) (P) -> § // ... → … (also ?.... → ?.., !.... → !..) // ???????? → ???, !!!!! → !!!, `,,` → `,` @@ -17,7 +21,7 @@ // - fractionals 1/2, 1/4, 3/4 -> ½, ¼, ¾ // - miltiplication 2 x 4 -> 2 × 4 -var RARE_RE = /\+-|\.\.|\?\?\?\?|!!!!|,,|--/; +var RARE_RE = /\+-|<3|->|<-|\.\.|\?\?\?\?|!!!!|,,|--/; var SCOPED_ABBR_RE = /\((c|tm|r|p)\)/ig; var SCOPED_ABBR = { @@ -56,6 +60,10 @@ module.exports = function replace(state) { if (RARE_RE.test(text)) { text = text.replace(/\+-/g, '±') + .replace(/<3/g, '♥') + .replace(/<->/g, '↔') + .replace(/<-/g, '←') + .replace(/->/g, '→') // .., ..., ....... -> … // but ?..... & !..... -> ?.. & !.. .replace(/\.{2,}/g, '…').replace(/([?!])…/g, '$1..') diff --git a/support/demo_template/sample.md b/support/demo_template/sample.md index 6690f99..a2fa1e5 100644 --- a/support/demo_template/sample.md +++ b/support/demo_template/sample.md @@ -31,7 +31,7 @@ ___ Enable typographer option to see result. -(c) (C) (r) (R) (tm) (TM) (p) (P) +- +(c) (C) (r) (R) (tm) (TM) (p) (P) +- <3 <-> <- -> test.. test... test..... test?..... test!.... diff --git a/test/fixtures/markdown-it/typographer.txt b/test/fixtures/markdown-it/typographer.txt index b476ed9..2f3cf6a 100644 --- a/test/fixtures/markdown-it/typographer.txt +++ b/test/fixtures/markdown-it/typographer.txt @@ -45,6 +45,38 @@ plus-minus . +heart +. +<3 +. +

+. + + +leftarrow +. +<- +. +

+. + + +rightarrow +. +-> +. +

+. + + +leftrightarrow +. +<-> +. +

+. + + ellipsis . test.. test... test..... test?..... test!....