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 // "" → “”. Set '«»' for Russian, '„“' for German, empty to disable
@ -6,6 +6,10 @@
// (tm) (TM) → ™ // (tm) (TM) → ™
// (r) (R) → ® // (r) (R) → ®
// +- → ± // +- → ±
// <3 → ♥
// <-> → ↔
// <- → ←
// -> → →
// (p) (P) -> § // (p) (P) -> §
// ... → … (also ?.... → ?.., !.... → !..) // ... → … (also ?.... → ?.., !.... → !..)
// ???????? → ???, !!!!! → !!!, `,,` → `,` // ???????? → ???, !!!!! → !!!, `,,` → `,`
@ -17,7 +21,7 @@
// - fractionals 1/2, 1/4, 3/4 -> ½, ¼, ¾ // - fractionals 1/2, 1/4, 3/4 -> ½, ¼, ¾
// - miltiplication 2 x 4 -> 2 × 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_RE = /\((c|tm|r|p)\)/ig;
var SCOPED_ABBR = { var SCOPED_ABBR = {
@ -56,6 +60,10 @@ module.exports = function replace(state) {
if (RARE_RE.test(text)) { if (RARE_RE.test(text)) {
text = text.replace(/\+-/g, '±') text = text.replace(/\+-/g, '±')
.replace(/<3/g, '♥')
.replace(/<->/g, '↔')
.replace(/<-/g, '←')
.replace(/->/g, '→')
// .., ..., ....... -> … // .., ..., ....... -> …
// but ?..... & !..... -> ?.. & !.. // but ?..... & !..... -> ?.. & !..
.replace(/\.{2,}/g, '…').replace(/([?!])…/g, '$1..') .replace(/\.{2,}/g, '…').replace(/([?!])…/g, '$1..')

2
support/demo_template/sample.md

@ -31,7 +31,7 @@ ___
Enable typographer option to see result. 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!.... 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 ellipsis
. .
test.. test... test..... test?..... test!.... test.. test... test..... test?..... test!....

Loading…
Cancel
Save