Browse Source

Add more typographer replacement rules

pull/25/head
Steffen van Bergerem 11 years ago
parent
commit
5c85b3d2d6
  1. 12
      lib/rules_core/replacements.js
  2. 2
      support/demo_template/sample.md
  3. 32
      test/fixtures/markdown-it/typographer.txt

12
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..')

2
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!....

32
test/fixtures/markdown-it/typographer.txt

@ -45,6 +45,38 @@ plus-minus
.
heart
.
<3
.
<p>♥</p>
.
leftarrow
.
<-
.
<p>←</p>
.
rightarrow
.
->
.
<p>→</p>
.
leftrightarrow
.
<->
.
<p>↔</p>
.
ellipsis
.
test.. test... test..... test?..... test!....

Loading…
Cancel
Save