diff --git a/.babelrc b/.babelrc index 8aa924d7..a29ac998 100644 --- a/.babelrc +++ b/.babelrc @@ -1,3 +1,5 @@ { - "presets": ["@babel/preset-env"] -} \ No newline at end of file + "presets": [ + "@babel/preset-env" + ] +} diff --git a/.eslintignore b/.eslintignore index a59de2ce..dd20beec 100644 --- a/.eslintignore +++ b/.eslintignore @@ -4,4 +4,4 @@ coverage/** build/** dist/** node_modules/** -test/** +benchmark/** diff --git a/.eslintrc b/.eslintrc index 0b206ec0..8c702bba 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,4 +1,8 @@ { + "plugins": [ + "@typescript-eslint" + ], + "parser": "@typescript-eslint/parser", "parserOptions": { "ecmaVersion": 6, "sourceType": "module" @@ -57,25 +61,15 @@ { "SwitchCase": 1 } - ], - "valid-jsdoc": [ - 2, - { - "prefer": { - "return": "returns" - }, - "requireParamDescription": false, - "requireReturnDescription": false, - "requireReturn": false - } ] }, "env": { "node": true, - "mocha": true - }, - "globals": { - "define": true + "jest": true }, - "extends": "eslint:recommended" + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/eslint-recommended", + "plugin:@typescript-eslint/recommended" + ] } diff --git a/CHANGELOG.md b/CHANGELOG.md index 3ee3d05e..b93c522c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +# v7.0.0 +- Кодовая база переписана на TypeScript. +- Поддержка ES Modules, `dist/typograf.esm.js` и `dist/typograf.all.esm.js`. +- Удалена поддержка старых версий Node.js < 12. + # v6.11.2 Исправлена ошибка в правиле `ru/punctuation/ano` #373. diff --git a/benchmark/benchmark.js b/benchmark/benchmark.js index 3a635e3d..4430f8bc 100644 --- a/benchmark/benchmark.js +++ b/benchmark/benchmark.js @@ -1,17 +1,17 @@ -'use strict'; - const fs = require('fs'); const Typograf = require('../build/typograf.js'); + const tp = new Typograf({locale: 'ru'}); const beforeTimes = {}; const afterTimes = {}; -const text = fs.readFileSync('./benchmark/war_and_peace.html').toString(); +const text = fs.readFileSync('./war_and_peace.html').toString(); -tp._onBeforeRule = function(name) { beforeTimes[name] = now(); }; -tp._onAfterRule = function(name) { afterTimes[name] = now(); }; +tp.onBeforeRule = rule => { beforeTimes[rule.name] = now(); }; +tp.onAfterRule = rule => { afterTimes[rule.name] = now(); }; function now() { const hrtime = process.hrtime(); + return ( hrtime[0] * 1000000 + hrtime[1] / 1000 ) / 1000; } @@ -19,14 +19,14 @@ function calcTimes() { const times = []; let total = 0; - Object.keys(afterTimes).forEach(function(name) { + Object.keys(afterTimes).forEach(name => { times.push({ name: name, time: afterTimes[name] - beforeTimes[name] }); }); - times.sort(function(a, b) { + times.sort((a, b) => { if (a.time < b.time) { return 1; } else if (a.time > b.time) { @@ -36,7 +36,7 @@ function calcTimes() { return 0; }); - times.forEach(function(item) { + times.forEach(item => { total += item.time; }); @@ -51,15 +51,18 @@ console.log(`Text length: ${text.length} symbols`); const startTime = now(); const output = tp.execute(text); const totalTime = now() - startTime; -console.log(`Total time: ${totalTime} ms`); + +console.log(`Total time: ${totalTime.toFixed(2)} ms`); const result = calcTimes(); -console.log(`Total time in rules: ${result.total} ms`); -result.times.forEach(function(item, i) { + +console.log(`Total time in rules: ${result.total.toFixed(2)} ms`); +result.times.forEach((item, i) => { const time = Math.floor(item.time * 1000) / 1000; + if (item.time) { - console.log(`${i + 1}. ${item.name}: ${time} ms`); + console.log(`${i + 1}. ${item.name}: ${time.toFixed(2)} ms`); } }); -fs.writeFileSync('./benchmark/output.html', output); +fs.writeFileSync('./output.html', output); diff --git a/docs/RULES.en-US.md b/docs/RULES.en-US.md index 0ab28f1a..510781de 100644 --- a/docs/RULES.en-US.md +++ b/docs/RULES.en-US.md @@ -2,101 +2,101 @@ | № | Name ▼ | Title | [Index](./RULES_SORTED.en.md) | Queue | On | |--:|--------|-------|------------------------------:|:-----:|:--:| -| 1. | [common/html/e-mail](../src/rules/common/html/e-mail.js) | Placement of links for e-mail | 1210 | end | | -| 2. | [common/html/escape](../src/rules/common/html/escape.js) | Escaping HTML | 1310 | end | | -| 3. | [common/html/nbr](../src/rules/common/html/nbr.js) | Replacement line break on
| 1220 | end | | -| 4. | [common/html/p](../src/rules/common/html/p.js) | Placement of paragraph | 1215 | end | | -| 5. | [common/html/processingAttrs](../src/rules/common/html/processingAttrs.js) | Processing HTML attributes | 1210 | hide-safe-tags-own | | -| 6. | [common/html/quot](../src/rules/common/html/quot.js) | &⁠quot; → " | 1210 | hide-safe-tags | ✓ | -| 7. | [common/html/stripTags](../src/rules/common/html/stripTags.js) | Removing HTML-tags | 1309 | end | | -| 8. | [common/html/url](../src/rules/common/html/url.js) | Placement of links | 1210 | end | | -| 9. | [common/nbsp/afterNumber](../src/rules/common/nbsp/afterNumber.js) | Non-breaking space between number and word | 510 | | | -| 10. | [common/nbsp/afterParagraphMark](../src/rules/common/nbsp/afterParagraphMark.js) | Non-breaking space after ¶ | 510 | | ✓ | -| 11. | [common/nbsp/afterSectionMark](../src/rules/common/nbsp/afterSectionMark.js) | Non-breaking space after § | 510 | | ✓ | -| 12. | [common/nbsp/afterShortWord](../src/rules/common/nbsp/afterShortWord.js) | Non-breaking space after short word | 510 | | ✓ | -| 13. | [common/nbsp/beforeShortLastNumber](../src/rules/common/nbsp/beforeShortLastNumber.js) | Non-breaking space before number (maximum 2 digits) at end of sentence | 510 | | ✓ | -| 14. | [common/nbsp/beforeShortLastWord](../src/rules/common/nbsp/beforeShortLastWord.js) | Non-breaking space before last short word in sentence | 510 | | ✓ | -| 15. | [common/nbsp/dpi](../src/rules/common/nbsp/dpi.js) | Non-breaking space before lpi and dpi | 510 | | ✓ | -| 16. | [common/nbsp/nowrap](../src/rules/common/nbsp/nowrap.js) | Replace non-breaking space to normal space in tags nowrap and nobr | 510 | end | ✓ | -| 17. | [common/nbsp/replaceNbsp](../src/rules/common/nbsp/replaceNbsp.js) | Replacing non-breaking space on normal before text correction | 510 | utf | | -| 18. | [common/number/digitGrouping](../src/rules/common/number/digitGrouping.js) | Divide into groups numbers with many digits | 920 | | | -| 19. | [common/number/fraction](../src/rules/common/number/fraction.js) | 1/2 → ½, 1/4 → ¼, 3/4 → ¾ | 610 | | ✓ | -| 20. | [common/number/mathSigns](../src/rules/common/number/mathSigns.js) | != → ≠, <= → ≤, >= → ≥, ~= → ≅, +- → ± | 610 | | ✓ | -| 21. | [common/number/times](../src/rules/common/number/times.js) | x → × (10 x 5 → 10×5) | 610 | | ✓ | -| 22. | [common/other/delBOM](../src/rules/common/other/delBOM.js) | Delete character BOM (Byte Order Mark) | -1 | start | ✓ | -| 23. | [common/other/repeatWord](../src/rules/common/other/repeatWord.js) | Removing repeat words | 910 | | | -| 24. | [common/punctuation/apostrophe](../src/rules/common/punctuation/apostrophe.js) | Placement of correct apostrophe | 410 | | ✓ | -| 25. | [common/punctuation/delDoublePunctuation](../src/rules/common/punctuation/delDoublePunctuation.js) | Removing double punctuation | 410 | | ✓ | -| 26. | [common/punctuation/hellip](../src/rules/common/punctuation/hellip.js) | Replacement of three points by ellipsis | 410 | | ✓ | -| 27. | [common/punctuation/quote](../src/rules/common/punctuation/quote.js) | Placement of quotation marks in texts | 410 | | ✓ | -| 28. | [common/punctuation/quoteLink](../src/rules/common/punctuation/quoteLink.js) | Removal quotes outside a link | 415 | show-safe-tags-html | ✓ | -| 29. | [common/space/afterPunctuation](../src/rules/common/space/afterPunctuation.js) | space after punctuation | 210 | | ✓ | -| 30. | [common/space/beforeBracket](../src/rules/common/space/beforeBracket.js) | Space before opening bracket | 210 | | ✓ | -| 31. | [common/space/bracket](../src/rules/common/space/bracket.js) | Remove extra spaces after opening and before closing bracket | 210 | | ✓ | -| 32. | [common/space/delBeforePercent](../src/rules/common/space/delBeforePercent.js) | Remove space before %, ‰ and ‱ | 210 | | ✓ | -| 33. | [common/space/delBeforePunctuation](../src/rules/common/space/delBeforePunctuation.js) | Remove spaces before punctuation | 210 | | ✓ | -| 34. | [common/space/delLeadingBlanks](../src/rules/common/space/delLeadingBlanks.js) | Remove spaces at start of line | 210 | | | -| 35. | [common/space/delRepeatN](../src/rules/common/space/delRepeatN.js) | Remove duplicate line breaks | 209 | | ✓ | -| 36. | [common/space/delRepeatSpace](../src/rules/common/space/delRepeatSpace.js) | Removing duplicate spaces between characters | 209 | | ✓ | -| 37. | [common/space/delTrailingBlanks](../src/rules/common/space/delTrailingBlanks.js) | Remove spaces at end of line | 207 | | ✓ | -| 38. | [common/space/insertFinalNewline](../src/rules/common/space/insertFinalNewline.js) | Insert final newline | 210 | end | | -| 39. | [common/space/replaceTab](../src/rules/common/space/replaceTab.js) | Replacement of tab to 4 spaces | 205 | | ✓ | -| 40. | [common/space/squareBracket](../src/rules/common/space/squareBracket.js) | Remove extra spaces after opening and before closing square bracket | 210 | | ✓ | -| 41. | [common/space/trimLeft](../src/rules/common/space/trimLeft.js) | Remove spaces and line breaks in beginning of text | 206 | | ✓ | -| 42. | [common/space/trimRight](../src/rules/common/space/trimRight.js) | Remove spaces and line breaks at end of text | 207 | | ✓ | -| 43. | [common/symbols/arrow](../src/rules/common/symbols/arrow.js) | -> → →, <- → ← | 110 | | ✓ | -| 44. | [common/symbols/cf](../src/rules/common/symbols/cf.js) | Adding ° to C and F | 110 | | ✓ | -| 45. | [common/symbols/copy](../src/rules/common/symbols/copy.js) | (c) → ©, (tm) → ™, (r) → ® | 110 | | ✓ | -| 46. | [en-US/dash/main](../src/rules/en-US/dash/main.js) | Replace hyphens surrounded by spaces with an em-dash | 305 | | ✓ | -| 47. | [ru/dash/centuries](../src/rules/ru/dash/centuries.js) | Hyphen to dash in centuries | 310 | | ✓ | -| 48. | [ru/dash/daysMonth](../src/rules/ru/dash/daysMonth.js) | Dash between days of one month | 310 | | ✓ | -| 49. | [ru/dash/de](../src/rules/ru/dash/de.js) | Hyphen before “де” | 310 | | | -| 50. | [ru/dash/decade](../src/rules/ru/dash/decade.js) | Dash in decade | 310 | | ✓ | -| 51. | [ru/dash/directSpeech](../src/rules/ru/dash/directSpeech.js) | Dash in direct speech | 310 | | ✓ | -| 52. | [ru/dash/izpod](../src/rules/ru/dash/izpod.js) | Hyphen between “из-под” | 310 | | ✓ | -| 53. | [ru/dash/izza](../src/rules/ru/dash/izza.js) | Hyphen between “из-за” | 310 | | ✓ | -| 54. | [ru/dash/ka](../src/rules/ru/dash/ka.js) | Hyphen before “ка” and “кась” | 310 | | ✓ | -| 55. | [ru/dash/koe](../src/rules/ru/dash/koe.js) | Hyphen after “кое” and “кой” | 310 | | ✓ | -| 56. | [ru/dash/main](../src/rules/ru/dash/main.js) | Replacement hyphen with dash | 305 | | ✓ | -| 57. | [ru/dash/month](../src/rules/ru/dash/month.js) | Dash between months | 310 | | ✓ | -| 58. | [ru/dash/surname](../src/rules/ru/dash/surname.js) | Acronyms with a dash | 310 | | ✓ | -| 59. | [ru/dash/taki](../src/rules/ru/dash/taki.js) | Hyphen between “верно-таки” and etc. | 310 | | ✓ | -| 60. | [ru/dash/time](../src/rules/ru/dash/time.js) | Dash in time intervals | 310 | | ✓ | -| 61. | [ru/dash/to](../src/rules/ru/dash/to.js) | Hyphen before “то”, “либо”, “нибудь” | 310 | | ✓ | -| 62. | [ru/dash/weekday](../src/rules/ru/dash/weekday.js) | Dash between the days of the week | 310 | | ✓ | -| 63. | [ru/dash/years](../src/rules/ru/dash/years.js) | Hyphen to dash in years | 310 | | ✓ | -| 64. | [ru/date/fromISO](../src/rules/ru/date/fromISO.js) | Converting dates YYYY-MM-DD type DD.MM.YYYY | 810 | | ✓ | -| 65. | [ru/date/weekday](../src/rules/ru/date/weekday.js) | 2 Мая, Понедельник → 2 мая, понедельник | 810 | | ✓ | -| 66. | [ru/money/currency](../src/rules/ru/money/currency.js) | Currency symbol ($, €, ¥, Ұ, £ and ₤) after the number, $100 → 100 $ | 710 | | | -| 67. | [ru/money/ruble](../src/rules/ru/money/ruble.js) | 1 руб. → 1 ₽ | 710 | | | -| 68. | [ru/nbsp/abbr](../src/rules/ru/nbsp/abbr.js) | Non-breaking space in abbreviations, e.g. “т. д.” | 510 | | ✓ | -| 69. | [ru/nbsp/addr](../src/rules/ru/nbsp/addr.js) | Placement of non-breaking space after “г.”, “обл.”, “ул.”, “пр.”, “кв.” et al. | 510 | | ✓ | -| 70. | [ru/nbsp/afterNumberSign](../src/rules/ru/nbsp/afterNumberSign.js) | Non-breaking thin space after № | 510 | | ✓ | -| 71. | [ru/nbsp/beforeParticle](../src/rules/ru/nbsp/beforeParticle.js) | Non-breaking space before “ли”, “ль”, “же”, “бы”, “б” | 515 | | ✓ | -| 72. | [ru/nbsp/centuries](../src/rules/ru/nbsp/centuries.js) | Remove spaces and extra points in “вв.” | 510 | | ✓ | -| 73. | [ru/nbsp/dayMonth](../src/rules/ru/nbsp/dayMonth.js) | Non-breaking space between number and month | 510 | | ✓ | -| 74. | [ru/nbsp/initials](../src/rules/ru/nbsp/initials.js) | Binding of initials to the name | 510 | | ✓ | -| 75. | [ru/nbsp/m](../src/rules/ru/nbsp/m.js) | m2 → м², m3 → м³ and non-breaking space | 515 | | ✓ | -| 76. | [ru/nbsp/mln](../src/rules/ru/nbsp/mln.js) | Non-breaking space between number and “тыс.”, “млн”, “млрд” and “трлн” | 510 | | ✓ | -| 77. | [ru/nbsp/ooo](../src/rules/ru/nbsp/ooo.js) | Non-breaking space after “OOO, ОАО, ЗАО, НИИ, ПБОЮЛ” | 510 | | ✓ | -| 78. | [ru/nbsp/page](../src/rules/ru/nbsp/page.js) | Non-breaking space after “стр.”, “гл.”, “рис.”, “илл.” | 510 | | ✓ | -| 79. | [ru/nbsp/ps](../src/rules/ru/nbsp/ps.js) | Non-breaking space in P. S. and P. P. S. | 510 | | ✓ | -| 80. | [ru/nbsp/rubleKopek](../src/rules/ru/nbsp/rubleKopek.js) | Not once. space before the “rub” and “cop.” | 510 | | ✓ | -| 81. | [ru/nbsp/see](../src/rules/ru/nbsp/see.js) | Non-breaking space after abbreviation «см.» and «им.» | 510 | | ✓ | -| 82. | [ru/nbsp/year](../src/rules/ru/nbsp/year.js) | Non-breaking space before XXXX г. (2012 г.) | 510 | | ✓ | -| 83. | [ru/nbsp/years](../src/rules/ru/nbsp/years.js) | г.г. → гг. and non-breaking space | 515 | | ✓ | -| 84. | [ru/number/comma](../src/rules/ru/number/comma.js) | Commas in numbers | 610 | | ✓ | -| 85. | [ru/number/ordinals](../src/rules/ru/number/ordinals.js) | N-ый, -ой, -ая, -ое, -ые, -ым, -ом, -ых → N-й, -я, -е, -м, -х (25-й) | 610 | | ✓ | -| 86. | [ru/optalign/bracket](../src/rules/ru/optalign/bracket.js) | for opening bracket | 1010 | | | -| 87. | [ru/optalign/comma](../src/rules/ru/optalign/comma.js) | for comma | 1010 | | | -| 88. | [ru/optalign/quote](../src/rules/ru/optalign/quote.js) | for opening quotation marks | 1010 | | | -| 89. | [ru/other/accent](../src/rules/ru/other/accent.js) | Replacement capital letters to lowercase with addition of accent | 910 | | | -| 90. | [ru/other/phone-number](../src/rules/ru/other/phone-number.js) | Formatting phone numbers | 910 | | ✓ | -| 91. | [ru/punctuation/ano](../src/rules/ru/punctuation/ano.js) | Placement of commas before “а” and “но” | 410 | hide-safe-tags-html | ✓ | -| 92. | [ru/punctuation/exclamation](../src/rules/ru/punctuation/exclamation.js) | !! → ! | 410 | | ✓ | -| 93. | [ru/punctuation/exclamationQuestion](../src/rules/ru/punctuation/exclamationQuestion.js) | !? → ?! | 415 | | ✓ | -| 94. | [ru/punctuation/hellipQuestion](../src/rules/ru/punctuation/hellipQuestion.js) | «?…» → «?..», «!…» → «!..», «…,» → «…» | 410 | | ✓ | -| 95. | [ru/space/afterHellip](../src/rules/ru/space/afterHellip.js) | Space after “...”, “!..” and “?..” | 210 | | ✓ | -| 96. | [ru/space/year](../src/rules/ru/space/year.js) | Space between number and word “год” | 210 | | ✓ | -| 97. | [ru/symbols/NN](../src/rules/ru/symbols/NN.js) | №№ → № | 110 | | ✓ | -| 98. | [ru/typo/switchingKeyboardLayout](../src/rules/ru/typo/switchingKeyboardLayout.js) | Replacement of Latin letters in Russian. Typos occur when you switch keyboard layouts | 1110 | | ✓ | +| 1. | [common/html/e-mail](../src/rules/common/html/e-mail.ts) | Placement of links for e-mail | 1210 | end | | +| 2. | [common/html/escape](../src/rules/common/html/escape.ts) | Escaping HTML | 1310 | end | | +| 3. | [common/html/nbr](../src/rules/common/html/nbr.ts) | Replacement line break on
| 1220 | end | | +| 4. | [common/html/p](../src/rules/common/html/p.ts) | Placement of paragraph | 1215 | end | | +| 5. | [common/html/processingAttrs](../src/rules/common/html/processingAttrs.ts) | Processing HTML attributes | 1210 | hide-safe-tags-own | | +| 6. | [common/html/quot](../src/rules/common/html/quot.ts) | &⁠quot; → " | 1210 | hide-safe-tags | ✓ | +| 7. | [common/html/stripTags](../src/rules/common/html/stripTags.ts) | Removing HTML-tags | 1309 | end | | +| 8. | [common/html/url](../src/rules/common/html/url.ts) | Placement of links | 1210 | end | | +| 9. | [common/nbsp/afterNumber](../src/rules/common/nbsp/afterNumber.ts) | Non-breaking space between number and word | 510 | default | | +| 10. | [common/nbsp/afterParagraphMark](../src/rules/common/nbsp/afterParagraphMark.ts) | Non-breaking space after ¶ | 510 | default | ✓ | +| 11. | [common/nbsp/afterSectionMark](../src/rules/common/nbsp/afterSectionMark.ts) | Non-breaking space after § | 510 | default | ✓ | +| 12. | [common/nbsp/afterShortWord](../src/rules/common/nbsp/afterShortWord.ts) | Non-breaking space after short word | 510 | default | ✓ | +| 13. | [common/nbsp/beforeShortLastNumber](../src/rules/common/nbsp/beforeShortLastNumber.ts) | Non-breaking space before number (maximum 2 digits) at end of sentence | 510 | default | ✓ | +| 14. | [common/nbsp/beforeShortLastWord](../src/rules/common/nbsp/beforeShortLastWord.ts) | Non-breaking space before last short word in sentence | 510 | default | ✓ | +| 15. | [common/nbsp/dpi](../src/rules/common/nbsp/dpi.ts) | Non-breaking space before lpi and dpi | 510 | default | ✓ | +| 16. | [common/nbsp/nowrap](../src/rules/common/nbsp/nowrap.ts) | Replace non-breaking space to normal space in tags nowrap and nobr | 510 | end | ✓ | +| 17. | [common/nbsp/replaceNbsp](../src/rules/common/nbsp/replaceNbsp.ts) | Replacing non-breaking space on normal before text correction | 510 | utf | | +| 18. | [common/number/digitGrouping](../src/rules/common/number/digitGrouping.ts) | Divide into groups numbers with many digits | 920 | default | | +| 19. | [common/number/fraction](../src/rules/common/number/fraction.ts) | 1/2 → ½, 1/4 → ¼, 3/4 → ¾ | 610 | default | ✓ | +| 20. | [common/number/mathSigns](../src/rules/common/number/mathSigns.ts) | != → ≠, <= → ≤, >= → ≥, ~= → ≅, +- → ± | 610 | default | ✓ | +| 21. | [common/number/times](../src/rules/common/number/times.ts) | x → × (10 x 5 → 10×5) | 610 | default | ✓ | +| 22. | [common/other/delBOM](../src/rules/common/other/delBOM.ts) | Delete character BOM (Byte Order Mark) | -1 | start | ✓ | +| 23. | [common/other/repeatWord](../src/rules/common/other/repeatWord.ts) | Removing repeat words | 910 | default | | +| 24. | [common/punctuation/apostrophe](../src/rules/common/punctuation/apostrophe.ts) | Placement of correct apostrophe | 410 | default | ✓ | +| 25. | [common/punctuation/delDoublePunctuation](../src/rules/common/punctuation/delDoublePunctuation.ts) | Removing double punctuation | 410 | default | ✓ | +| 26. | [common/punctuation/hellip](../src/rules/common/punctuation/hellip.ts) | Replacement of three points by ellipsis | 410 | default | ✓ | +| 27. | [common/punctuation/quote](../src/rules/common/punctuation/quote.ts) | Placement of quotation marks in texts | 410 | default | ✓ | +| 28. | [common/punctuation/quoteLink](../src/rules/common/punctuation/quoteLink.ts) | Removal quotes outside a link | 415 | show-safe-tags-html | ✓ | +| 29. | [common/space/afterPunctuation](../src/rules/common/space/afterPunctuation.ts) | space after punctuation | 210 | default | ✓ | +| 30. | [common/space/beforeBracket](../src/rules/common/space/beforeBracket.ts) | Space before opening bracket | 210 | default | ✓ | +| 31. | [common/space/bracket](../src/rules/common/space/bracket.ts) | Remove extra spaces after opening and before closing bracket | 210 | default | ✓ | +| 32. | [common/space/delBeforePercent](../src/rules/common/space/delBeforePercent.ts) | Remove space before %, ‰ and ‱ | 210 | default | ✓ | +| 33. | [common/space/delBeforePunctuation](../src/rules/common/space/delBeforePunctuation.ts) | Remove spaces before punctuation | 210 | default | ✓ | +| 34. | [common/space/delLeadingBlanks](../src/rules/common/space/delLeadingBlanks.ts) | Remove spaces at start of line | 210 | default | | +| 35. | [common/space/delRepeatN](../src/rules/common/space/delRepeatN.ts) | Remove duplicate line breaks | 209 | default | ✓ | +| 36. | [common/space/delRepeatSpace](../src/rules/common/space/delRepeatSpace.ts) | Removing duplicate spaces between characters | 209 | default | ✓ | +| 37. | [common/space/delTrailingBlanks](../src/rules/common/space/delTrailingBlanks.ts) | Remove spaces at end of line | 207 | default | ✓ | +| 38. | [common/space/insertFinalNewline](../src/rules/common/space/insertFinalNewline.ts) | Insert final newline | 210 | end | | +| 39. | [common/space/replaceTab](../src/rules/common/space/replaceTab.ts) | Replacement of tab to 4 spaces | 205 | default | ✓ | +| 40. | [common/space/squareBracket](../src/rules/common/space/squareBracket.ts) | Remove extra spaces after opening and before closing square bracket | 210 | default | ✓ | +| 41. | [common/space/trimLeft](../src/rules/common/space/trimLeft.ts) | Remove spaces and line breaks in beginning of text | 206 | default | ✓ | +| 42. | [common/space/trimRight](../src/rules/common/space/trimRight.ts) | Remove spaces and line breaks at end of text | 207 | default | ✓ | +| 43. | [common/symbols/arrow](../src/rules/common/symbols/arrow.ts) | -> → →, <- → ← | 110 | default | ✓ | +| 44. | [common/symbols/cf](../src/rules/common/symbols/cf.ts) | Adding ° to C and F | 110 | default | ✓ | +| 45. | [common/symbols/copy](../src/rules/common/symbols/copy.ts) | (c) → ©, (tm) → ™, (r) → ® | 110 | default | ✓ | +| 46. | [en-US/dash/main](../src/rules/en-US/dash/main.ts) | Replace hyphens surrounded by spaces with an em-dash | 305 | default | ✓ | +| 47. | [ru/dash/centuries](../src/rules/ru/dash/centuries.ts) | Hyphen to dash in centuries | 310 | default | ✓ | +| 48. | [ru/dash/daysMonth](../src/rules/ru/dash/daysMonth.ts) | Dash between days of one month | 310 | default | ✓ | +| 49. | [ru/dash/de](../src/rules/ru/dash/de.ts) | Hyphen before “де” | 310 | default | | +| 50. | [ru/dash/decade](../src/rules/ru/dash/decade.ts) | Dash in decade | 310 | default | ✓ | +| 51. | [ru/dash/directSpeech](../src/rules/ru/dash/directSpeech.ts) | Dash in direct speech | 310 | default | ✓ | +| 52. | [ru/dash/izpod](../src/rules/ru/dash/izpod.ts) | Hyphen between “из-под” | 310 | default | ✓ | +| 53. | [ru/dash/izza](../src/rules/ru/dash/izza.ts) | Hyphen between “из-за” | 310 | default | ✓ | +| 54. | [ru/dash/ka](../src/rules/ru/dash/ka.ts) | Hyphen before “ка” and “кась” | 310 | default | ✓ | +| 55. | [ru/dash/koe](../src/rules/ru/dash/koe.ts) | Hyphen after “кое” and “кой” | 310 | default | ✓ | +| 56. | [ru/dash/main](../src/rules/ru/dash/main.ts) | Replacement hyphen with dash | 305 | default | ✓ | +| 57. | [ru/dash/month](../src/rules/ru/dash/month.ts) | Dash between months | 310 | default | ✓ | +| 58. | [ru/dash/surname](../src/rules/ru/dash/surname.ts) | Acronyms with a dash | 310 | default | ✓ | +| 59. | [ru/dash/taki](../src/rules/ru/dash/taki.ts) | Hyphen between “верно-таки” and etc. | 310 | default | ✓ | +| 60. | [ru/dash/time](../src/rules/ru/dash/time.ts) | Dash in time intervals | 310 | default | ✓ | +| 61. | [ru/dash/to](../src/rules/ru/dash/to.ts) | Hyphen before “то”, “либо”, “нибудь” | 310 | default | ✓ | +| 62. | [ru/dash/weekday](../src/rules/ru/dash/weekday.ts) | Dash between the days of the week | 310 | default | ✓ | +| 63. | [ru/dash/years](../src/rules/ru/dash/years.ts) | Hyphen to dash in years | 310 | default | ✓ | +| 64. | [ru/date/fromISO](../src/rules/ru/date/fromISO.ts) | Converting dates YYYY-MM-DD type DD.MM.YYYY | 810 | default | ✓ | +| 65. | [ru/date/weekday](../src/rules/ru/date/weekday.ts) | 2 Мая, Понедельник → 2 мая, понедельник | 810 | default | ✓ | +| 66. | [ru/money/currency](../src/rules/ru/money/currency.ts) | Currency symbol ($, €, ¥, Ұ, £ and ₤) after the number, $100 → 100 $ | 710 | default | | +| 67. | [ru/money/ruble](../src/rules/ru/money/ruble.ts) | 1 руб. → 1 ₽ | 710 | default | | +| 68. | [ru/nbsp/abbr](../src/rules/ru/nbsp/abbr.ts) | Non-breaking space in abbreviations, e.g. “т. д.” | 510 | default | ✓ | +| 69. | [ru/nbsp/addr](../src/rules/ru/nbsp/addr.ts) | Placement of non-breaking space after “г.”, “обл.”, “ул.”, “пр.”, “кв.” et al. | 510 | default | ✓ | +| 70. | [ru/nbsp/afterNumberSign](../src/rules/ru/nbsp/afterNumberSign.ts) | Non-breaking thin space after № | 510 | default | ✓ | +| 71. | [ru/nbsp/beforeParticle](../src/rules/ru/nbsp/beforeParticle.ts) | Non-breaking space before “ли”, “ль”, “же”, “бы”, “б” | 515 | default | ✓ | +| 72. | [ru/nbsp/centuries](../src/rules/ru/nbsp/centuries.ts) | Remove spaces and extra points in “вв.” | 510 | default | ✓ | +| 73. | [ru/nbsp/dayMonth](../src/rules/ru/nbsp/dayMonth.ts) | Non-breaking space between number and month | 510 | default | ✓ | +| 74. | [ru/nbsp/initials](../src/rules/ru/nbsp/initials.ts) | Binding of initials to the name | 510 | default | ✓ | +| 75. | [ru/nbsp/m](../src/rules/ru/nbsp/m.ts) | m2 → м², m3 → м³ and non-breaking space | 515 | default | ✓ | +| 76. | [ru/nbsp/mln](../src/rules/ru/nbsp/mln.ts) | Non-breaking space between number and “тыс.”, “млн”, “млрд” and “трлн” | 510 | default | ✓ | +| 77. | [ru/nbsp/ooo](../src/rules/ru/nbsp/ooo.ts) | Non-breaking space after “OOO, ОАО, ЗАО, НИИ, ПБОЮЛ” | 510 | default | ✓ | +| 78. | [ru/nbsp/page](../src/rules/ru/nbsp/page.ts) | Non-breaking space after “стр.”, “гл.”, “рис.”, “илл.” | 510 | default | ✓ | +| 79. | [ru/nbsp/ps](../src/rules/ru/nbsp/ps.ts) | Non-breaking space in P. S. and P. P. S. | 510 | default | ✓ | +| 80. | [ru/nbsp/rubleKopek](../src/rules/ru/nbsp/rubleKopek.ts) | Not once. space before the “rub” and “cop.” | 510 | default | ✓ | +| 81. | [ru/nbsp/see](../src/rules/ru/nbsp/see.ts) | Non-breaking space after abbreviation «см.» and «им.» | 510 | default | ✓ | +| 82. | [ru/nbsp/year](../src/rules/ru/nbsp/year.ts) | Non-breaking space before XXXX г. (2012 г.) | 510 | default | ✓ | +| 83. | [ru/nbsp/years](../src/rules/ru/nbsp/years.ts) | г.г. → гг. and non-breaking space | 515 | default | ✓ | +| 84. | [ru/number/comma](../src/rules/ru/number/comma.ts) | Commas in numbers | 610 | default | ✓ | +| 85. | [ru/number/ordinals](../src/rules/ru/number/ordinals.ts) | N-ый, -ой, -ая, -ое, -ые, -ым, -ом, -ых → N-й, -я, -е, -м, -х (25-й) | 610 | default | ✓ | +| 86. | [ru/optalign/bracket](../src/rules/ru/optalign/bracket.ts) | for opening bracket | 1010 | default | | +| 87. | [ru/optalign/comma](../src/rules/ru/optalign/comma.ts) | for comma | 1010 | default | | +| 88. | [ru/optalign/quote](../src/rules/ru/optalign/quote.ts) | for opening quotation marks | 1010 | default | | +| 89. | [ru/other/accent](../src/rules/ru/other/accent.ts) | Replacement capital letters to lowercase with addition of accent | 910 | default | | +| 90. | [ru/other/phoneNumber](../src/rules/ru/other/phoneNumber.ts) | Formatting phone numbers | 910 | default | ✓ | +| 91. | [ru/punctuation/ano](../src/rules/ru/punctuation/ano.ts) | Placement of commas before “а” and “но” | 410 | hide-safe-tags-html | ✓ | +| 92. | [ru/punctuation/exclamation](../src/rules/ru/punctuation/exclamation.ts) | !! → ! | 410 | default | ✓ | +| 93. | [ru/punctuation/exclamationQuestion](../src/rules/ru/punctuation/exclamationQuestion.ts) | !? → ?! | 415 | default | ✓ | +| 94. | [ru/punctuation/hellipQuestion](../src/rules/ru/punctuation/hellipQuestion.ts) | «?…» → «?..», «!…» → «!..», «…,» → «…» | 410 | default | ✓ | +| 95. | [ru/space/afterHellip](../src/rules/ru/space/afterHellip.ts) | Space after “...”, “!..” and “?..” | 210 | default | ✓ | +| 96. | [ru/space/year](../src/rules/ru/space/year.ts) | Space between number and word “год” | 210 | default | ✓ | +| 97. | [ru/symbols/NN](../src/rules/ru/symbols/NN.ts) | №№ → № | 110 | default | ✓ | +| 98. | [ru/typo/switchingKeyboardLayout](../src/rules/ru/typo/switchingKeyboardLayout.ts) | Replacement of Latin letters in Russian. Typos occur when you switch keyboard layouts | 1110 | default | ✓ | diff --git a/docs/RULES.ru.md b/docs/RULES.ru.md index 8624e3fd..c919b65e 100644 --- a/docs/RULES.ru.md +++ b/docs/RULES.ru.md @@ -2,101 +2,101 @@ | № | Имя ▼ | Название | [Индекс](./RULES_SORTED.ru.md) | Очередь | Вкл. | |--:|-------|----------|----------------------------:|:-------:|:----:| -| 1. | [common/html/e-mail](../src/rules/common/html/e-mail.js) | Расстановка ссылок для эл. почты | 1210 | end | | -| 2. | [common/html/escape](../src/rules/common/html/escape.js) | Экранирование HTML | 1310 | end | | -| 3. | [common/html/nbr](../src/rules/common/html/nbr.js) | Замена перевода строки на
| 1220 | end | | -| 4. | [common/html/p](../src/rules/common/html/p.js) | Расстановка абзацев | 1215 | end | | -| 5. | [common/html/processingAttrs](../src/rules/common/html/processingAttrs.js) | Типографирование HTML-атрибутов | 1210 | hide-safe-tags-own | | -| 6. | [common/html/quot](../src/rules/common/html/quot.js) | &⁠quot; → " | 1210 | hide-safe-tags | ✓ | -| 7. | [common/html/stripTags](../src/rules/common/html/stripTags.js) | Удаление HTML-тегов | 1309 | end | | -| 8. | [common/html/url](../src/rules/common/html/url.js) | Расстановка ссылок | 1210 | end | | -| 9. | [common/nbsp/afterNumber](../src/rules/common/nbsp/afterNumber.js) | Нераз. пробел между числом и словом | 510 | | | -| 10. | [common/nbsp/afterParagraphMark](../src/rules/common/nbsp/afterParagraphMark.js) | Нераз. пробел после ¶ | 510 | | ✓ | -| 11. | [common/nbsp/afterSectionMark](../src/rules/common/nbsp/afterSectionMark.js) | Нераз. узкий пробел после § | 510 | | ✓ | -| 12. | [common/nbsp/afterShortWord](../src/rules/common/nbsp/afterShortWord.js) | Нераз. пробел после короткого слова | 510 | | ✓ | -| 13. | [common/nbsp/beforeShortLastNumber](../src/rules/common/nbsp/beforeShortLastNumber.js) | Нераз. пробел перед числом (не более 2 цифр) в конце предложения | 510 | | ✓ | -| 14. | [common/nbsp/beforeShortLastWord](../src/rules/common/nbsp/beforeShortLastWord.js) | Нераз. пробел перед последним коротким словом в предложении | 510 | | ✓ | -| 15. | [common/nbsp/dpi](../src/rules/common/nbsp/dpi.js) | Нераз. пробел перед lpi и dpi | 510 | | ✓ | -| 16. | [common/nbsp/nowrap](../src/rules/common/nbsp/nowrap.js) | Заменять нераз. пробел на обычный пробел в тегах nowrap и nobr | 510 | end | ✓ | -| 17. | [common/nbsp/replaceNbsp](../src/rules/common/nbsp/replaceNbsp.js) | Замена неразрывного пробела на обычный перед типографированием | 510 | utf | | -| 18. | [common/number/digitGrouping](../src/rules/common/number/digitGrouping.js) | Разбивать длинные числа по разрядам | 920 | | | -| 19. | [common/number/fraction](../src/rules/common/number/fraction.js) | 1/2 → ½, 1/4 → ¼, 3/4 → ¾ | 610 | | ✓ | -| 20. | [common/number/mathSigns](../src/rules/common/number/mathSigns.js) | != → ≠, <= → ≤, >= → ≥, ~= → ≅, +- → ± | 610 | | ✓ | -| 21. | [common/number/times](../src/rules/common/number/times.js) | x → × (10 x 5 → 10×5) | 610 | | ✓ | -| 22. | [common/other/delBOM](../src/rules/common/other/delBOM.js) | Удаление символа BOM (Byte Order Mark) | -1 | start | ✓ | -| 23. | [common/other/repeatWord](../src/rules/common/other/repeatWord.js) | Удаление повтора слова | 910 | | | -| 24. | [common/punctuation/apostrophe](../src/rules/common/punctuation/apostrophe.js) | Расстановка правильного апострофа | 410 | | ✓ | -| 25. | [common/punctuation/delDoublePunctuation](../src/rules/common/punctuation/delDoublePunctuation.js) | Удаление двойной пунктуации | 410 | | ✓ | -| 26. | [common/punctuation/hellip](../src/rules/common/punctuation/hellip.js) | Замена трёх точек на многоточие | 410 | | ✓ | -| 27. | [common/punctuation/quote](../src/rules/common/punctuation/quote.js) | Расстановка кавычек правильного вида | 410 | | ✓ | -| 28. | [common/punctuation/quoteLink](../src/rules/common/punctuation/quoteLink.js) | Вынос кавычек за пределы ссылки | 415 | show-safe-tags-html | ✓ | -| 29. | [common/space/afterPunctuation](../src/rules/common/space/afterPunctuation.js) | Пробел после знаков пунктуации | 210 | | ✓ | -| 30. | [common/space/beforeBracket](../src/rules/common/space/beforeBracket.js) | Пробел перед открывающей скобкой | 210 | | ✓ | -| 31. | [common/space/bracket](../src/rules/common/space/bracket.js) | Удаление лишних пробелов после открывающей и перед закрывающей скобкой | 210 | | ✓ | -| 32. | [common/space/delBeforePercent](../src/rules/common/space/delBeforePercent.js) | Удаление пробела перед %, ‰ и ‱ | 210 | | ✓ | -| 33. | [common/space/delBeforePunctuation](../src/rules/common/space/delBeforePunctuation.js) | Удаление пробелов перед знаками пунктуации | 210 | | ✓ | -| 34. | [common/space/delLeadingBlanks](../src/rules/common/space/delLeadingBlanks.js) | Удаление пробелов в начале строки | 210 | | | -| 35. | [common/space/delRepeatN](../src/rules/common/space/delRepeatN.js) | Удаление повторяющихся переносов строки | 209 | | ✓ | -| 36. | [common/space/delRepeatSpace](../src/rules/common/space/delRepeatSpace.js) | Удаление повторяющихся пробелов между символами | 209 | | ✓ | -| 37. | [common/space/delTrailingBlanks](../src/rules/common/space/delTrailingBlanks.js) | Удаление пробелов в конце строки | 207 | | ✓ | -| 38. | [common/space/insertFinalNewline](../src/rules/common/space/insertFinalNewline.js) | Вставить в конце текста перевод строки | 210 | end | | -| 39. | [common/space/replaceTab](../src/rules/common/space/replaceTab.js) | Замена таба на 4 пробела | 205 | | ✓ | -| 40. | [common/space/squareBracket](../src/rules/common/space/squareBracket.js) | Удаление лишних пробелов после открывающей и перед закрывающей квадратной скобкой | 210 | | ✓ | -| 41. | [common/space/trimLeft](../src/rules/common/space/trimLeft.js) | Удаление пробелов и переносов строк в начале текста | 206 | | ✓ | -| 42. | [common/space/trimRight](../src/rules/common/space/trimRight.js) | Удаление пробелов и переносов строк в конце текста | 207 | | ✓ | -| 43. | [common/symbols/arrow](../src/rules/common/symbols/arrow.js) | -> → →, <- → ← | 110 | | ✓ | -| 44. | [common/symbols/cf](../src/rules/common/symbols/cf.js) | Добавление ° к C и F | 110 | | ✓ | -| 45. | [common/symbols/copy](../src/rules/common/symbols/copy.js) | (c) → ©, (tm) → ™, (r) → ® | 110 | | ✓ | -| 46. | [en-US/dash/main](../src/rules/en-US/dash/main.js) | Замена дефиса на длинное тире | 305 | | ✓ | -| 47. | [ru/dash/centuries](../src/rules/ru/dash/centuries.js) | Замена дефиса на тире в веках | 310 | | ✓ | -| 48. | [ru/dash/daysMonth](../src/rules/ru/dash/daysMonth.js) | Тире между днями одного месяца | 310 | | ✓ | -| 49. | [ru/dash/de](../src/rules/ru/dash/de.js) | Дефис перед «де» | 310 | | | -| 50. | [ru/dash/decade](../src/rules/ru/dash/decade.js) | Тире в десятилетиях, 80—90-е гг. | 310 | | ✓ | -| 51. | [ru/dash/directSpeech](../src/rules/ru/dash/directSpeech.js) | Тире в прямой речи | 310 | | ✓ | -| 52. | [ru/dash/izpod](../src/rules/ru/dash/izpod.js) | Дефис между «из-под» | 310 | | ✓ | -| 53. | [ru/dash/izza](../src/rules/ru/dash/izza.js) | Дефис между «из-за» | 310 | | ✓ | -| 54. | [ru/dash/ka](../src/rules/ru/dash/ka.js) | Дефис перед «ка» и «кась» | 310 | | ✓ | -| 55. | [ru/dash/koe](../src/rules/ru/dash/koe.js) | Дефис после «кое» и «кой» | 310 | | ✓ | -| 56. | [ru/dash/main](../src/rules/ru/dash/main.js) | Замена дефиса на тире | 305 | | ✓ | -| 57. | [ru/dash/month](../src/rules/ru/dash/month.js) | Тире между месяцами | 310 | | ✓ | -| 58. | [ru/dash/surname](../src/rules/ru/dash/surname.js) | Сокращения с помощью тире | 310 | | ✓ | -| 59. | [ru/dash/taki](../src/rules/ru/dash/taki.js) | Дефис между «верно-таки» и т. д. | 310 | | ✓ | -| 60. | [ru/dash/time](../src/rules/ru/dash/time.js) | Тире в интервалах времени | 310 | | ✓ | -| 61. | [ru/dash/to](../src/rules/ru/dash/to.js) | Дефис перед «то», «либо», «нибудь» | 310 | | ✓ | -| 62. | [ru/dash/weekday](../src/rules/ru/dash/weekday.js) | Тире между днями недели | 310 | | ✓ | -| 63. | [ru/dash/years](../src/rules/ru/dash/years.js) | Замена дефиса на тире в годах | 310 | | ✓ | -| 64. | [ru/date/fromISO](../src/rules/ru/date/fromISO.js) | Преобразование дат YYYY-MM-DD к виду DD.MM.YYYY | 810 | | ✓ | -| 65. | [ru/date/weekday](../src/rules/ru/date/weekday.js) | 2 Мая, Понедельник → 2 мая, понедельник | 810 | | ✓ | -| 66. | [ru/money/currency](../src/rules/ru/money/currency.js) | Символ валюты ($, €, ¥, Ұ, £ и ₤) после числа, $100 → 100 $ | 710 | | | -| 67. | [ru/money/ruble](../src/rules/ru/money/ruble.js) | 1 руб. → 1 ₽ | 710 | | | -| 68. | [ru/nbsp/abbr](../src/rules/ru/nbsp/abbr.js) | Нераз. пробел в сокращениях, например, в «т. д.» | 510 | | ✓ | -| 69. | [ru/nbsp/addr](../src/rules/ru/nbsp/addr.js) | Расстановка нераз. пробела после «г.», «обл.», «ул.», «пр.», «кв.» и др. | 510 | | ✓ | -| 70. | [ru/nbsp/afterNumberSign](../src/rules/ru/nbsp/afterNumberSign.js) | Нераз. узкий пробел после № | 510 | | ✓ | -| 71. | [ru/nbsp/beforeParticle](../src/rules/ru/nbsp/beforeParticle.js) | Нераз. пробел перед «ли», «ль», «же», «бы», «б» | 515 | | ✓ | -| 72. | [ru/nbsp/centuries](../src/rules/ru/nbsp/centuries.js) | Удаление пробелов и лишних точек в «вв.» | 510 | | ✓ | -| 73. | [ru/nbsp/dayMonth](../src/rules/ru/nbsp/dayMonth.js) | Нераз. пробел между числом и месяцем | 510 | | ✓ | -| 74. | [ru/nbsp/initials](../src/rules/ru/nbsp/initials.js) | Привязка инициалов к фамилии | 510 | | ✓ | -| 75. | [ru/nbsp/m](../src/rules/ru/nbsp/m.js) | м2 → м², м3 → м³ и нераз. пробел | 515 | | ✓ | -| 76. | [ru/nbsp/mln](../src/rules/ru/nbsp/mln.js) | Неразр. пробел между числом и «тыс.», «млн», «млрд» и «трлн» | 510 | | ✓ | -| 77. | [ru/nbsp/ooo](../src/rules/ru/nbsp/ooo.js) | Нераз. пробел после OOO, ОАО, ЗАО, НИИ и ПБОЮЛ | 510 | | ✓ | -| 78. | [ru/nbsp/page](../src/rules/ru/nbsp/page.js) | Нераз. пробел после «стр.», «гл.», «рис.», «илл.» | 510 | | ✓ | -| 79. | [ru/nbsp/ps](../src/rules/ru/nbsp/ps.js) | Нераз. пробел в P. S. и P. P. S. | 510 | | ✓ | -| 80. | [ru/nbsp/rubleKopek](../src/rules/ru/nbsp/rubleKopek.js) | Нераз. пробел перед «руб.» и «коп.» | 510 | | ✓ | -| 81. | [ru/nbsp/see](../src/rules/ru/nbsp/see.js) | Нераз. пробел после сокращений «см.» и «им.» | 510 | | ✓ | -| 82. | [ru/nbsp/year](../src/rules/ru/nbsp/year.js) | Нераз. пробел после XXXX г. (2012 г.) | 510 | | ✓ | -| 83. | [ru/nbsp/years](../src/rules/ru/nbsp/years.js) | г.г. → гг. и нераз. пробел | 515 | | ✓ | -| 84. | [ru/number/comma](../src/rules/ru/number/comma.js) | Замена точки на запятую в числах | 610 | | ✓ | -| 85. | [ru/number/ordinals](../src/rules/ru/number/ordinals.js) | N-ый, -ой, -ая, -ое, -ые, -ым, -ом, -ых → N-й, -я, -е, -м, -х (25-й) | 610 | | ✓ | -| 86. | [ru/optalign/bracket](../src/rules/ru/optalign/bracket.js) | для открывающей скобки | 1010 | | | -| 87. | [ru/optalign/comma](../src/rules/ru/optalign/comma.js) | для запятой | 1010 | | | -| 88. | [ru/optalign/quote](../src/rules/ru/optalign/quote.js) | для открывающей кавычки | 1010 | | | -| 89. | [ru/other/accent](../src/rules/ru/other/accent.js) | Замена заглавной буквы на строчную с добавлением ударения | 910 | | | -| 90. | [ru/other/phone-number](../src/rules/ru/other/phone-number.js) | Форматирование телефонных номеров | 910 | | ✓ | -| 91. | [ru/punctuation/ano](../src/rules/ru/punctuation/ano.js) | Расстановка запятых перед «а» и «но» | 410 | hide-safe-tags-html | ✓ | -| 92. | [ru/punctuation/exclamation](../src/rules/ru/punctuation/exclamation.js) | !! → ! | 410 | | ✓ | -| 93. | [ru/punctuation/exclamationQuestion](../src/rules/ru/punctuation/exclamationQuestion.js) | !? → ?! | 415 | | ✓ | -| 94. | [ru/punctuation/hellipQuestion](../src/rules/ru/punctuation/hellipQuestion.js) | «?…» → «?..», «!…» → «!..», «…,» → «…» | 410 | | ✓ | -| 95. | [ru/space/afterHellip](../src/rules/ru/space/afterHellip.js) | Пробел после «...», «!..» и «?..» | 210 | | ✓ | -| 96. | [ru/space/year](../src/rules/ru/space/year.js) | Пробел между числом и словом «год» | 210 | | ✓ | -| 97. | [ru/symbols/NN](../src/rules/ru/symbols/NN.js) | №№ → № | 110 | | ✓ | -| 98. | [ru/typo/switchingKeyboardLayout](../src/rules/ru/typo/switchingKeyboardLayout.js) | Замена латинских букв на русские. Опечатки, возникающие при переключении клавиатурной раскладки | 1110 | | ✓ | +| 1. | [common/html/e-mail](../src/rules/common/html/e-mail.ts) | Расстановка ссылок для эл. почты | 1210 | end | | +| 2. | [common/html/escape](../src/rules/common/html/escape.ts) | Экранирование HTML | 1310 | end | | +| 3. | [common/html/nbr](../src/rules/common/html/nbr.ts) | Замена перевода строки на
| 1220 | end | | +| 4. | [common/html/p](../src/rules/common/html/p.ts) | Расстановка абзацев | 1215 | end | | +| 5. | [common/html/processingAttrs](../src/rules/common/html/processingAttrs.ts) | Типографирование HTML-атрибутов | 1210 | hide-safe-tags-own | | +| 6. | [common/html/quot](../src/rules/common/html/quot.ts) | &⁠quot; → " | 1210 | hide-safe-tags | ✓ | +| 7. | [common/html/stripTags](../src/rules/common/html/stripTags.ts) | Удаление HTML-тегов | 1309 | end | | +| 8. | [common/html/url](../src/rules/common/html/url.ts) | Расстановка ссылок | 1210 | end | | +| 9. | [common/nbsp/afterNumber](../src/rules/common/nbsp/afterNumber.ts) | Нераз. пробел между числом и словом | 510 | default | | +| 10. | [common/nbsp/afterParagraphMark](../src/rules/common/nbsp/afterParagraphMark.ts) | Нераз. пробел после ¶ | 510 | default | ✓ | +| 11. | [common/nbsp/afterSectionMark](../src/rules/common/nbsp/afterSectionMark.ts) | Нераз. узкий пробел после § | 510 | default | ✓ | +| 12. | [common/nbsp/afterShortWord](../src/rules/common/nbsp/afterShortWord.ts) | Нераз. пробел после короткого слова | 510 | default | ✓ | +| 13. | [common/nbsp/beforeShortLastNumber](../src/rules/common/nbsp/beforeShortLastNumber.ts) | Нераз. пробел перед числом (не более 2 цифр) в конце предложения | 510 | default | ✓ | +| 14. | [common/nbsp/beforeShortLastWord](../src/rules/common/nbsp/beforeShortLastWord.ts) | Нераз. пробел перед последним коротким словом в предложении | 510 | default | ✓ | +| 15. | [common/nbsp/dpi](../src/rules/common/nbsp/dpi.ts) | Нераз. пробел перед lpi и dpi | 510 | default | ✓ | +| 16. | [common/nbsp/nowrap](../src/rules/common/nbsp/nowrap.ts) | Заменять нераз. пробел на обычный пробел в тегах nowrap и nobr | 510 | end | ✓ | +| 17. | [common/nbsp/replaceNbsp](../src/rules/common/nbsp/replaceNbsp.ts) | Замена неразрывного пробела на обычный перед типографированием | 510 | utf | | +| 18. | [common/number/digitGrouping](../src/rules/common/number/digitGrouping.ts) | Разбивать длинные числа по разрядам | 920 | default | | +| 19. | [common/number/fraction](../src/rules/common/number/fraction.ts) | 1/2 → ½, 1/4 → ¼, 3/4 → ¾ | 610 | default | ✓ | +| 20. | [common/number/mathSigns](../src/rules/common/number/mathSigns.ts) | != → ≠, <= → ≤, >= → ≥, ~= → ≅, +- → ± | 610 | default | ✓ | +| 21. | [common/number/times](../src/rules/common/number/times.ts) | x → × (10 x 5 → 10×5) | 610 | default | ✓ | +| 22. | [common/other/delBOM](../src/rules/common/other/delBOM.ts) | Удаление символа BOM (Byte Order Mark) | -1 | start | ✓ | +| 23. | [common/other/repeatWord](../src/rules/common/other/repeatWord.ts) | Удаление повтора слова | 910 | default | | +| 24. | [common/punctuation/apostrophe](../src/rules/common/punctuation/apostrophe.ts) | Расстановка правильного апострофа | 410 | default | ✓ | +| 25. | [common/punctuation/delDoublePunctuation](../src/rules/common/punctuation/delDoublePunctuation.ts) | Удаление двойной пунктуации | 410 | default | ✓ | +| 26. | [common/punctuation/hellip](../src/rules/common/punctuation/hellip.ts) | Замена трёх точек на многоточие | 410 | default | ✓ | +| 27. | [common/punctuation/quote](../src/rules/common/punctuation/quote.ts) | Расстановка кавычек правильного вида | 410 | default | ✓ | +| 28. | [common/punctuation/quoteLink](../src/rules/common/punctuation/quoteLink.ts) | Вынос кавычек за пределы ссылки | 415 | show-safe-tags-html | ✓ | +| 29. | [common/space/afterPunctuation](../src/rules/common/space/afterPunctuation.ts) | Пробел после знаков пунктуации | 210 | default | ✓ | +| 30. | [common/space/beforeBracket](../src/rules/common/space/beforeBracket.ts) | Пробел перед открывающей скобкой | 210 | default | ✓ | +| 31. | [common/space/bracket](../src/rules/common/space/bracket.ts) | Удаление лишних пробелов после открывающей и перед закрывающей скобкой | 210 | default | ✓ | +| 32. | [common/space/delBeforePercent](../src/rules/common/space/delBeforePercent.ts) | Удаление пробела перед %, ‰ и ‱ | 210 | default | ✓ | +| 33. | [common/space/delBeforePunctuation](../src/rules/common/space/delBeforePunctuation.ts) | Удаление пробелов перед знаками пунктуации | 210 | default | ✓ | +| 34. | [common/space/delLeadingBlanks](../src/rules/common/space/delLeadingBlanks.ts) | Удаление пробелов в начале строки | 210 | default | | +| 35. | [common/space/delRepeatN](../src/rules/common/space/delRepeatN.ts) | Удаление повторяющихся переносов строки | 209 | default | ✓ | +| 36. | [common/space/delRepeatSpace](../src/rules/common/space/delRepeatSpace.ts) | Удаление повторяющихся пробелов между символами | 209 | default | ✓ | +| 37. | [common/space/delTrailingBlanks](../src/rules/common/space/delTrailingBlanks.ts) | Удаление пробелов в конце строки | 207 | default | ✓ | +| 38. | [common/space/insertFinalNewline](../src/rules/common/space/insertFinalNewline.ts) | Вставить в конце текста перевод строки | 210 | end | | +| 39. | [common/space/replaceTab](../src/rules/common/space/replaceTab.ts) | Замена таба на 4 пробела | 205 | default | ✓ | +| 40. | [common/space/squareBracket](../src/rules/common/space/squareBracket.ts) | Удаление лишних пробелов после открывающей и перед закрывающей квадратной скобкой | 210 | default | ✓ | +| 41. | [common/space/trimLeft](../src/rules/common/space/trimLeft.ts) | Удаление пробелов и переносов строк в начале текста | 206 | default | ✓ | +| 42. | [common/space/trimRight](../src/rules/common/space/trimRight.ts) | Удаление пробелов и переносов строк в конце текста | 207 | default | ✓ | +| 43. | [common/symbols/arrow](../src/rules/common/symbols/arrow.ts) | -> → →, <- → ← | 110 | default | ✓ | +| 44. | [common/symbols/cf](../src/rules/common/symbols/cf.ts) | Добавление ° к C и F | 110 | default | ✓ | +| 45. | [common/symbols/copy](../src/rules/common/symbols/copy.ts) | (c) → ©, (tm) → ™, (r) → ® | 110 | default | ✓ | +| 46. | [en-US/dash/main](../src/rules/en-US/dash/main.ts) | Замена дефиса на длинное тире | 305 | default | ✓ | +| 47. | [ru/dash/centuries](../src/rules/ru/dash/centuries.ts) | Замена дефиса на тире в веках | 310 | default | ✓ | +| 48. | [ru/dash/daysMonth](../src/rules/ru/dash/daysMonth.ts) | Тире между днями одного месяца | 310 | default | ✓ | +| 49. | [ru/dash/de](../src/rules/ru/dash/de.ts) | Дефис перед «де» | 310 | default | | +| 50. | [ru/dash/decade](../src/rules/ru/dash/decade.ts) | Тире в десятилетиях, 80—90-е гг. | 310 | default | ✓ | +| 51. | [ru/dash/directSpeech](../src/rules/ru/dash/directSpeech.ts) | Тире в прямой речи | 310 | default | ✓ | +| 52. | [ru/dash/izpod](../src/rules/ru/dash/izpod.ts) | Дефис между «из-под» | 310 | default | ✓ | +| 53. | [ru/dash/izza](../src/rules/ru/dash/izza.ts) | Дефис между «из-за» | 310 | default | ✓ | +| 54. | [ru/dash/ka](../src/rules/ru/dash/ka.ts) | Дефис перед «ка» и «кась» | 310 | default | ✓ | +| 55. | [ru/dash/koe](../src/rules/ru/dash/koe.ts) | Дефис после «кое» и «кой» | 310 | default | ✓ | +| 56. | [ru/dash/main](../src/rules/ru/dash/main.ts) | Замена дефиса на тире | 305 | default | ✓ | +| 57. | [ru/dash/month](../src/rules/ru/dash/month.ts) | Тире между месяцами | 310 | default | ✓ | +| 58. | [ru/dash/surname](../src/rules/ru/dash/surname.ts) | Сокращения с помощью тире | 310 | default | ✓ | +| 59. | [ru/dash/taki](../src/rules/ru/dash/taki.ts) | Дефис между «верно-таки» и т. д. | 310 | default | ✓ | +| 60. | [ru/dash/time](../src/rules/ru/dash/time.ts) | Тире в интервалах времени | 310 | default | ✓ | +| 61. | [ru/dash/to](../src/rules/ru/dash/to.ts) | Дефис перед «то», «либо», «нибудь» | 310 | default | ✓ | +| 62. | [ru/dash/weekday](../src/rules/ru/dash/weekday.ts) | Тире между днями недели | 310 | default | ✓ | +| 63. | [ru/dash/years](../src/rules/ru/dash/years.ts) | Замена дефиса на тире в годах | 310 | default | ✓ | +| 64. | [ru/date/fromISO](../src/rules/ru/date/fromISO.ts) | Преобразование дат YYYY-MM-DD к виду DD.MM.YYYY | 810 | default | ✓ | +| 65. | [ru/date/weekday](../src/rules/ru/date/weekday.ts) | 2 Мая, Понедельник → 2 мая, понедельник | 810 | default | ✓ | +| 66. | [ru/money/currency](../src/rules/ru/money/currency.ts) | Символ валюты ($, €, ¥, Ұ, £ и ₤) после числа, $100 → 100 $ | 710 | default | | +| 67. | [ru/money/ruble](../src/rules/ru/money/ruble.ts) | 1 руб. → 1 ₽ | 710 | default | | +| 68. | [ru/nbsp/abbr](../src/rules/ru/nbsp/abbr.ts) | Нераз. пробел в сокращениях, например, в «т. д.» | 510 | default | ✓ | +| 69. | [ru/nbsp/addr](../src/rules/ru/nbsp/addr.ts) | Расстановка нераз. пробела после «г.», «обл.», «ул.», «пр.», «кв.» и др. | 510 | default | ✓ | +| 70. | [ru/nbsp/afterNumberSign](../src/rules/ru/nbsp/afterNumberSign.ts) | Нераз. узкий пробел после № | 510 | default | ✓ | +| 71. | [ru/nbsp/beforeParticle](../src/rules/ru/nbsp/beforeParticle.ts) | Нераз. пробел перед «ли», «ль», «же», «бы», «б» | 515 | default | ✓ | +| 72. | [ru/nbsp/centuries](../src/rules/ru/nbsp/centuries.ts) | Удаление пробелов и лишних точек в «вв.» | 510 | default | ✓ | +| 73. | [ru/nbsp/dayMonth](../src/rules/ru/nbsp/dayMonth.ts) | Нераз. пробел между числом и месяцем | 510 | default | ✓ | +| 74. | [ru/nbsp/initials](../src/rules/ru/nbsp/initials.ts) | Привязка инициалов к фамилии | 510 | default | ✓ | +| 75. | [ru/nbsp/m](../src/rules/ru/nbsp/m.ts) | м2 → м², м3 → м³ и нераз. пробел | 515 | default | ✓ | +| 76. | [ru/nbsp/mln](../src/rules/ru/nbsp/mln.ts) | Неразр. пробел между числом и «тыс.», «млн», «млрд» и «трлн» | 510 | default | ✓ | +| 77. | [ru/nbsp/ooo](../src/rules/ru/nbsp/ooo.ts) | Нераз. пробел после OOO, ОАО, ЗАО, НИИ и ПБОЮЛ | 510 | default | ✓ | +| 78. | [ru/nbsp/page](../src/rules/ru/nbsp/page.ts) | Нераз. пробел после «стр.», «гл.», «рис.», «илл.» | 510 | default | ✓ | +| 79. | [ru/nbsp/ps](../src/rules/ru/nbsp/ps.ts) | Нераз. пробел в P. S. и P. P. S. | 510 | default | ✓ | +| 80. | [ru/nbsp/rubleKopek](../src/rules/ru/nbsp/rubleKopek.ts) | Нераз. пробел перед «руб.» и «коп.» | 510 | default | ✓ | +| 81. | [ru/nbsp/see](../src/rules/ru/nbsp/see.ts) | Нераз. пробел после сокращений «см.» и «им.» | 510 | default | ✓ | +| 82. | [ru/nbsp/year](../src/rules/ru/nbsp/year.ts) | Нераз. пробел после XXXX г. (2012 г.) | 510 | default | ✓ | +| 83. | [ru/nbsp/years](../src/rules/ru/nbsp/years.ts) | г.г. → гг. и нераз. пробел | 515 | default | ✓ | +| 84. | [ru/number/comma](../src/rules/ru/number/comma.ts) | Замена точки на запятую в числах | 610 | default | ✓ | +| 85. | [ru/number/ordinals](../src/rules/ru/number/ordinals.ts) | N-ый, -ой, -ая, -ое, -ые, -ым, -ом, -ых → N-й, -я, -е, -м, -х (25-й) | 610 | default | ✓ | +| 86. | [ru/optalign/bracket](../src/rules/ru/optalign/bracket.ts) | для открывающей скобки | 1010 | default | | +| 87. | [ru/optalign/comma](../src/rules/ru/optalign/comma.ts) | для запятой | 1010 | default | | +| 88. | [ru/optalign/quote](../src/rules/ru/optalign/quote.ts) | для открывающей кавычки | 1010 | default | | +| 89. | [ru/other/accent](../src/rules/ru/other/accent.ts) | Замена заглавной буквы на строчную с добавлением ударения | 910 | default | | +| 90. | [ru/other/phoneNumber](../src/rules/ru/other/phoneNumber.ts) | Форматирование телефонных номеров | 910 | default | ✓ | +| 91. | [ru/punctuation/ano](../src/rules/ru/punctuation/ano.ts) | Расстановка запятых перед «а» и «но» | 410 | hide-safe-tags-html | ✓ | +| 92. | [ru/punctuation/exclamation](../src/rules/ru/punctuation/exclamation.ts) | !! → ! | 410 | default | ✓ | +| 93. | [ru/punctuation/exclamationQuestion](../src/rules/ru/punctuation/exclamationQuestion.ts) | !? → ?! | 415 | default | ✓ | +| 94. | [ru/punctuation/hellipQuestion](../src/rules/ru/punctuation/hellipQuestion.ts) | «?…» → «?..», «!…» → «!..», «…,» → «…» | 410 | default | ✓ | +| 95. | [ru/space/afterHellip](../src/rules/ru/space/afterHellip.ts) | Пробел после «...», «!..» и «?..» | 210 | default | ✓ | +| 96. | [ru/space/year](../src/rules/ru/space/year.ts) | Пробел между числом и словом «год» | 210 | default | ✓ | +| 97. | [ru/symbols/NN](../src/rules/ru/symbols/NN.ts) | №№ → № | 110 | default | ✓ | +| 98. | [ru/typo/switchingKeyboardLayout](../src/rules/ru/typo/switchingKeyboardLayout.ts) | Замена латинских букв на русские. Опечатки, возникающие при переключении клавиатурной раскладки | 1110 | default | ✓ | diff --git a/docs/RULES_SORTED.en-US.md b/docs/RULES_SORTED.en-US.md index 5e69e9a8..bf373af4 100644 --- a/docs/RULES_SORTED.en-US.md +++ b/docs/RULES_SORTED.en-US.md @@ -2,101 +2,101 @@ | № | [Name](./RULES.en.md) | Title | Index ▼ | Queue | On | |--:|-----------------------|-------|--------:|:-----:|:--:| -| 1. | [common/other/delBOM](../src/rules/common/other/delBOM.js) | Delete character BOM (Byte Order Mark) | -1 | start | ✓ | -| 2. | [common/symbols/arrow](../src/rules/common/symbols/arrow.js) | -> → →, <- → ← | 110 | | ✓ | -| 3. | [common/symbols/cf](../src/rules/common/symbols/cf.js) | Adding ° to C and F | 110 | | ✓ | -| 4. | [common/symbols/copy](../src/rules/common/symbols/copy.js) | (c) → ©, (tm) → ™, (r) → ® | 110 | | ✓ | -| 5. | [ru/symbols/NN](../src/rules/ru/symbols/NN.js) | №№ → № | 110 | | ✓ | -| 6. | [common/space/replaceTab](../src/rules/common/space/replaceTab.js) | Replacement of tab to 4 spaces | 205 | | ✓ | -| 7. | [common/space/trimLeft](../src/rules/common/space/trimLeft.js) | Remove spaces and line breaks in beginning of text | 206 | | ✓ | -| 8. | [common/space/delTrailingBlanks](../src/rules/common/space/delTrailingBlanks.js) | Remove spaces at end of line | 207 | | ✓ | -| 9. | [common/space/trimRight](../src/rules/common/space/trimRight.js) | Remove spaces and line breaks at end of text | 207 | | ✓ | -| 10. | [common/space/delRepeatN](../src/rules/common/space/delRepeatN.js) | Remove duplicate line breaks | 209 | | ✓ | -| 11. | [common/space/delRepeatSpace](../src/rules/common/space/delRepeatSpace.js) | Removing duplicate spaces between characters | 209 | | ✓ | -| 12. | [common/space/afterPunctuation](../src/rules/common/space/afterPunctuation.js) | space after punctuation | 210 | | ✓ | -| 13. | [common/space/beforeBracket](../src/rules/common/space/beforeBracket.js) | Space before opening bracket | 210 | | ✓ | -| 14. | [common/space/bracket](../src/rules/common/space/bracket.js) | Remove extra spaces after opening and before closing bracket | 210 | | ✓ | -| 15. | [common/space/delBeforePercent](../src/rules/common/space/delBeforePercent.js) | Remove space before %, ‰ and ‱ | 210 | | ✓ | -| 16. | [common/space/delBeforePunctuation](../src/rules/common/space/delBeforePunctuation.js) | Remove spaces before punctuation | 210 | | ✓ | -| 17. | [common/space/delLeadingBlanks](../src/rules/common/space/delLeadingBlanks.js) | Remove spaces at start of line | 210 | | | -| 18. | [common/space/insertFinalNewline](../src/rules/common/space/insertFinalNewline.js) | Insert final newline | 210 | end | | -| 19. | [common/space/squareBracket](../src/rules/common/space/squareBracket.js) | Remove extra spaces after opening and before closing square bracket | 210 | | ✓ | -| 20. | [ru/space/afterHellip](../src/rules/ru/space/afterHellip.js) | Space after “...”, “!..” and “?..” | 210 | | ✓ | -| 21. | [ru/space/year](../src/rules/ru/space/year.js) | Space between number and word “год” | 210 | | ✓ | -| 22. | [en-US/dash/main](../src/rules/en-US/dash/main.js) | Replace hyphens surrounded by spaces with an em-dash | 305 | | ✓ | -| 23. | [ru/dash/main](../src/rules/ru/dash/main.js) | Replacement hyphen with dash | 305 | | ✓ | -| 24. | [ru/dash/centuries](../src/rules/ru/dash/centuries.js) | Hyphen to dash in centuries | 310 | | ✓ | -| 25. | [ru/dash/daysMonth](../src/rules/ru/dash/daysMonth.js) | Dash between days of one month | 310 | | ✓ | -| 26. | [ru/dash/de](../src/rules/ru/dash/de.js) | Hyphen before “де” | 310 | | | -| 27. | [ru/dash/decade](../src/rules/ru/dash/decade.js) | Dash in decade | 310 | | ✓ | -| 28. | [ru/dash/directSpeech](../src/rules/ru/dash/directSpeech.js) | Dash in direct speech | 310 | | ✓ | -| 29. | [ru/dash/izpod](../src/rules/ru/dash/izpod.js) | Hyphen between “из-под” | 310 | | ✓ | -| 30. | [ru/dash/izza](../src/rules/ru/dash/izza.js) | Hyphen between “из-за” | 310 | | ✓ | -| 31. | [ru/dash/ka](../src/rules/ru/dash/ka.js) | Hyphen before “ка” and “кась” | 310 | | ✓ | -| 32. | [ru/dash/koe](../src/rules/ru/dash/koe.js) | Hyphen after “кое” and “кой” | 310 | | ✓ | -| 33. | [ru/dash/month](../src/rules/ru/dash/month.js) | Dash between months | 310 | | ✓ | -| 34. | [ru/dash/surname](../src/rules/ru/dash/surname.js) | Acronyms with a dash | 310 | | ✓ | -| 35. | [ru/dash/taki](../src/rules/ru/dash/taki.js) | Hyphen between “верно-таки” and etc. | 310 | | ✓ | -| 36. | [ru/dash/time](../src/rules/ru/dash/time.js) | Dash in time intervals | 310 | | ✓ | -| 37. | [ru/dash/to](../src/rules/ru/dash/to.js) | Hyphen before “то”, “либо”, “нибудь” | 310 | | ✓ | -| 38. | [ru/dash/weekday](../src/rules/ru/dash/weekday.js) | Dash between the days of the week | 310 | | ✓ | -| 39. | [ru/dash/years](../src/rules/ru/dash/years.js) | Hyphen to dash in years | 310 | | ✓ | -| 40. | [common/punctuation/apostrophe](../src/rules/common/punctuation/apostrophe.js) | Placement of correct apostrophe | 410 | | ✓ | -| 41. | [common/punctuation/delDoublePunctuation](../src/rules/common/punctuation/delDoublePunctuation.js) | Removing double punctuation | 410 | | ✓ | -| 42. | [common/punctuation/hellip](../src/rules/common/punctuation/hellip.js) | Replacement of three points by ellipsis | 410 | | ✓ | -| 43. | [common/punctuation/quote](../src/rules/common/punctuation/quote.js) | Placement of quotation marks in texts | 410 | | ✓ | -| 44. | [ru/punctuation/ano](../src/rules/ru/punctuation/ano.js) | Placement of commas before “а” and “но” | 410 | hide-safe-tags-html | ✓ | -| 45. | [ru/punctuation/exclamation](../src/rules/ru/punctuation/exclamation.js) | !! → ! | 410 | | ✓ | -| 46. | [ru/punctuation/hellipQuestion](../src/rules/ru/punctuation/hellipQuestion.js) | «?…» → «?..», «!…» → «!..», «…,» → «…» | 410 | | ✓ | -| 47. | [common/punctuation/quoteLink](../src/rules/common/punctuation/quoteLink.js) | Removal quotes outside a link | 415 | show-safe-tags-html | ✓ | -| 48. | [ru/punctuation/exclamationQuestion](../src/rules/ru/punctuation/exclamationQuestion.js) | !? → ?! | 415 | | ✓ | -| 49. | [common/nbsp/afterNumber](../src/rules/common/nbsp/afterNumber.js) | Non-breaking space between number and word | 510 | | | -| 50. | [common/nbsp/afterParagraphMark](../src/rules/common/nbsp/afterParagraphMark.js) | Non-breaking space after ¶ | 510 | | ✓ | -| 51. | [common/nbsp/afterSectionMark](../src/rules/common/nbsp/afterSectionMark.js) | Non-breaking space after § | 510 | | ✓ | -| 52. | [common/nbsp/afterShortWord](../src/rules/common/nbsp/afterShortWord.js) | Non-breaking space after short word | 510 | | ✓ | -| 53. | [common/nbsp/beforeShortLastNumber](../src/rules/common/nbsp/beforeShortLastNumber.js) | Non-breaking space before number (maximum 2 digits) at end of sentence | 510 | | ✓ | -| 54. | [common/nbsp/beforeShortLastWord](../src/rules/common/nbsp/beforeShortLastWord.js) | Non-breaking space before last short word in sentence | 510 | | ✓ | -| 55. | [common/nbsp/dpi](../src/rules/common/nbsp/dpi.js) | Non-breaking space before lpi and dpi | 510 | | ✓ | -| 56. | [common/nbsp/nowrap](../src/rules/common/nbsp/nowrap.js) | Replace non-breaking space to normal space in tags nowrap and nobr | 510 | end | ✓ | -| 57. | [common/nbsp/replaceNbsp](../src/rules/common/nbsp/replaceNbsp.js) | Replacing non-breaking space on normal before text correction | 510 | utf | | -| 58. | [ru/nbsp/abbr](../src/rules/ru/nbsp/abbr.js) | Non-breaking space in abbreviations, e.g. “т. д.” | 510 | | ✓ | -| 59. | [ru/nbsp/addr](../src/rules/ru/nbsp/addr.js) | Placement of non-breaking space after “г.”, “обл.”, “ул.”, “пр.”, “кв.” et al. | 510 | | ✓ | -| 60. | [ru/nbsp/afterNumberSign](../src/rules/ru/nbsp/afterNumberSign.js) | Non-breaking thin space after № | 510 | | ✓ | -| 61. | [ru/nbsp/centuries](../src/rules/ru/nbsp/centuries.js) | Remove spaces and extra points in “вв.” | 510 | | ✓ | -| 62. | [ru/nbsp/dayMonth](../src/rules/ru/nbsp/dayMonth.js) | Non-breaking space between number and month | 510 | | ✓ | -| 63. | [ru/nbsp/initials](../src/rules/ru/nbsp/initials.js) | Binding of initials to the name | 510 | | ✓ | -| 64. | [ru/nbsp/mln](../src/rules/ru/nbsp/mln.js) | Non-breaking space between number and “тыс.”, “млн”, “млрд” and “трлн” | 510 | | ✓ | -| 65. | [ru/nbsp/ooo](../src/rules/ru/nbsp/ooo.js) | Non-breaking space after “OOO, ОАО, ЗАО, НИИ, ПБОЮЛ” | 510 | | ✓ | -| 66. | [ru/nbsp/page](../src/rules/ru/nbsp/page.js) | Non-breaking space after “стр.”, “гл.”, “рис.”, “илл.” | 510 | | ✓ | -| 67. | [ru/nbsp/ps](../src/rules/ru/nbsp/ps.js) | Non-breaking space in P. S. and P. P. S. | 510 | | ✓ | -| 68. | [ru/nbsp/rubleKopek](../src/rules/ru/nbsp/rubleKopek.js) | Not once. space before the “rub” and “cop.” | 510 | | ✓ | -| 69. | [ru/nbsp/see](../src/rules/ru/nbsp/see.js) | Non-breaking space after abbreviation «см.» and «им.» | 510 | | ✓ | -| 70. | [ru/nbsp/year](../src/rules/ru/nbsp/year.js) | Non-breaking space before XXXX г. (2012 г.) | 510 | | ✓ | -| 71. | [ru/nbsp/beforeParticle](../src/rules/ru/nbsp/beforeParticle.js) | Non-breaking space before “ли”, “ль”, “же”, “бы”, “б” | 515 | | ✓ | -| 72. | [ru/nbsp/m](../src/rules/ru/nbsp/m.js) | m2 → м², m3 → м³ and non-breaking space | 515 | | ✓ | -| 73. | [ru/nbsp/years](../src/rules/ru/nbsp/years.js) | г.г. → гг. and non-breaking space | 515 | | ✓ | -| 74. | [common/number/fraction](../src/rules/common/number/fraction.js) | 1/2 → ½, 1/4 → ¼, 3/4 → ¾ | 610 | | ✓ | -| 75. | [common/number/mathSigns](../src/rules/common/number/mathSigns.js) | != → ≠, <= → ≤, >= → ≥, ~= → ≅, +- → ± | 610 | | ✓ | -| 76. | [common/number/times](../src/rules/common/number/times.js) | x → × (10 x 5 → 10×5) | 610 | | ✓ | -| 77. | [ru/number/comma](../src/rules/ru/number/comma.js) | Commas in numbers | 610 | | ✓ | -| 78. | [ru/number/ordinals](../src/rules/ru/number/ordinals.js) | N-ый, -ой, -ая, -ое, -ые, -ым, -ом, -ых → N-й, -я, -е, -м, -х (25-й) | 610 | | ✓ | -| 79. | [ru/money/currency](../src/rules/ru/money/currency.js) | Currency symbol ($, €, ¥, Ұ, £ and ₤) after the number, $100 → 100 $ | 710 | | | -| 80. | [ru/money/ruble](../src/rules/ru/money/ruble.js) | 1 руб. → 1 ₽ | 710 | | | -| 81. | [ru/date/fromISO](../src/rules/ru/date/fromISO.js) | Converting dates YYYY-MM-DD type DD.MM.YYYY | 810 | | ✓ | -| 82. | [ru/date/weekday](../src/rules/ru/date/weekday.js) | 2 Мая, Понедельник → 2 мая, понедельник | 810 | | ✓ | -| 83. | [common/other/repeatWord](../src/rules/common/other/repeatWord.js) | Removing repeat words | 910 | | | -| 84. | [ru/other/accent](../src/rules/ru/other/accent.js) | Replacement capital letters to lowercase with addition of accent | 910 | | | -| 85. | [ru/other/phone-number](../src/rules/ru/other/phone-number.js) | Formatting phone numbers | 910 | | ✓ | -| 86. | [common/number/digitGrouping](../src/rules/common/number/digitGrouping.js) | Divide into groups numbers with many digits | 920 | | | -| 87. | [ru/optalign/bracket](../src/rules/ru/optalign/bracket.js) | for opening bracket | 1010 | | | -| 88. | [ru/optalign/comma](../src/rules/ru/optalign/comma.js) | for comma | 1010 | | | -| 89. | [ru/optalign/quote](../src/rules/ru/optalign/quote.js) | for opening quotation marks | 1010 | | | -| 90. | [ru/typo/switchingKeyboardLayout](../src/rules/ru/typo/switchingKeyboardLayout.js) | Replacement of Latin letters in Russian. Typos occur when you switch keyboard layouts | 1110 | | ✓ | -| 91. | [common/html/e-mail](../src/rules/common/html/e-mail.js) | Placement of links for e-mail | 1210 | end | | -| 92. | [common/html/processingAttrs](../src/rules/common/html/processingAttrs.js) | Processing HTML attributes | 1210 | hide-safe-tags-own | | -| 93. | [common/html/quot](../src/rules/common/html/quot.js) | &⁠quot; → " | 1210 | hide-safe-tags | ✓ | -| 94. | [common/html/url](../src/rules/common/html/url.js) | Placement of links | 1210 | end | | -| 95. | [common/html/p](../src/rules/common/html/p.js) | Placement of paragraph | 1215 | end | | -| 96. | [common/html/nbr](../src/rules/common/html/nbr.js) | Replacement line break on
| 1220 | end | | -| 97. | [common/html/stripTags](../src/rules/common/html/stripTags.js) | Removing HTML-tags | 1309 | end | | -| 98. | [common/html/escape](../src/rules/common/html/escape.js) | Escaping HTML | 1310 | end | | +| 1. | [common/other/delBOM](../src/rules/common/other/delBOM.ts) | Delete character BOM (Byte Order Mark) | -1 | start | ✓ | +| 2. | [common/symbols/arrow](../src/rules/common/symbols/arrow.ts) | -> → →, <- → ← | 110 | default | ✓ | +| 3. | [common/symbols/cf](../src/rules/common/symbols/cf.ts) | Adding ° to C and F | 110 | default | ✓ | +| 4. | [common/symbols/copy](../src/rules/common/symbols/copy.ts) | (c) → ©, (tm) → ™, (r) → ® | 110 | default | ✓ | +| 5. | [ru/symbols/NN](../src/rules/ru/symbols/NN.ts) | №№ → № | 110 | default | ✓ | +| 6. | [common/space/replaceTab](../src/rules/common/space/replaceTab.ts) | Replacement of tab to 4 spaces | 205 | default | ✓ | +| 7. | [common/space/trimLeft](../src/rules/common/space/trimLeft.ts) | Remove spaces and line breaks in beginning of text | 206 | default | ✓ | +| 8. | [common/space/delTrailingBlanks](../src/rules/common/space/delTrailingBlanks.ts) | Remove spaces at end of line | 207 | default | ✓ | +| 9. | [common/space/trimRight](../src/rules/common/space/trimRight.ts) | Remove spaces and line breaks at end of text | 207 | default | ✓ | +| 10. | [common/space/delRepeatN](../src/rules/common/space/delRepeatN.ts) | Remove duplicate line breaks | 209 | default | ✓ | +| 11. | [common/space/delRepeatSpace](../src/rules/common/space/delRepeatSpace.ts) | Removing duplicate spaces between characters | 209 | default | ✓ | +| 12. | [common/space/afterPunctuation](../src/rules/common/space/afterPunctuation.ts) | space after punctuation | 210 | default | ✓ | +| 13. | [common/space/beforeBracket](../src/rules/common/space/beforeBracket.ts) | Space before opening bracket | 210 | default | ✓ | +| 14. | [common/space/bracket](../src/rules/common/space/bracket.ts) | Remove extra spaces after opening and before closing bracket | 210 | default | ✓ | +| 15. | [common/space/delBeforePercent](../src/rules/common/space/delBeforePercent.ts) | Remove space before %, ‰ and ‱ | 210 | default | ✓ | +| 16. | [common/space/delBeforePunctuation](../src/rules/common/space/delBeforePunctuation.ts) | Remove spaces before punctuation | 210 | default | ✓ | +| 17. | [common/space/delLeadingBlanks](../src/rules/common/space/delLeadingBlanks.ts) | Remove spaces at start of line | 210 | default | | +| 18. | [common/space/insertFinalNewline](../src/rules/common/space/insertFinalNewline.ts) | Insert final newline | 210 | end | | +| 19. | [common/space/squareBracket](../src/rules/common/space/squareBracket.ts) | Remove extra spaces after opening and before closing square bracket | 210 | default | ✓ | +| 20. | [ru/space/afterHellip](../src/rules/ru/space/afterHellip.ts) | Space after “...”, “!..” and “?..” | 210 | default | ✓ | +| 21. | [ru/space/year](../src/rules/ru/space/year.ts) | Space between number and word “год” | 210 | default | ✓ | +| 22. | [en-US/dash/main](../src/rules/en-US/dash/main.ts) | Replace hyphens surrounded by spaces with an em-dash | 305 | default | ✓ | +| 23. | [ru/dash/main](../src/rules/ru/dash/main.ts) | Replacement hyphen with dash | 305 | default | ✓ | +| 24. | [ru/dash/centuries](../src/rules/ru/dash/centuries.ts) | Hyphen to dash in centuries | 310 | default | ✓ | +| 25. | [ru/dash/daysMonth](../src/rules/ru/dash/daysMonth.ts) | Dash between days of one month | 310 | default | ✓ | +| 26. | [ru/dash/de](../src/rules/ru/dash/de.ts) | Hyphen before “де” | 310 | default | | +| 27. | [ru/dash/decade](../src/rules/ru/dash/decade.ts) | Dash in decade | 310 | default | ✓ | +| 28. | [ru/dash/directSpeech](../src/rules/ru/dash/directSpeech.ts) | Dash in direct speech | 310 | default | ✓ | +| 29. | [ru/dash/izpod](../src/rules/ru/dash/izpod.ts) | Hyphen between “из-под” | 310 | default | ✓ | +| 30. | [ru/dash/izza](../src/rules/ru/dash/izza.ts) | Hyphen between “из-за” | 310 | default | ✓ | +| 31. | [ru/dash/ka](../src/rules/ru/dash/ka.ts) | Hyphen before “ка” and “кась” | 310 | default | ✓ | +| 32. | [ru/dash/koe](../src/rules/ru/dash/koe.ts) | Hyphen after “кое” and “кой” | 310 | default | ✓ | +| 33. | [ru/dash/month](../src/rules/ru/dash/month.ts) | Dash between months | 310 | default | ✓ | +| 34. | [ru/dash/surname](../src/rules/ru/dash/surname.ts) | Acronyms with a dash | 310 | default | ✓ | +| 35. | [ru/dash/taki](../src/rules/ru/dash/taki.ts) | Hyphen between “верно-таки” and etc. | 310 | default | ✓ | +| 36. | [ru/dash/time](../src/rules/ru/dash/time.ts) | Dash in time intervals | 310 | default | ✓ | +| 37. | [ru/dash/to](../src/rules/ru/dash/to.ts) | Hyphen before “то”, “либо”, “нибудь” | 310 | default | ✓ | +| 38. | [ru/dash/weekday](../src/rules/ru/dash/weekday.ts) | Dash between the days of the week | 310 | default | ✓ | +| 39. | [ru/dash/years](../src/rules/ru/dash/years.ts) | Hyphen to dash in years | 310 | default | ✓ | +| 40. | [common/punctuation/apostrophe](../src/rules/common/punctuation/apostrophe.ts) | Placement of correct apostrophe | 410 | default | ✓ | +| 41. | [common/punctuation/delDoublePunctuation](../src/rules/common/punctuation/delDoublePunctuation.ts) | Removing double punctuation | 410 | default | ✓ | +| 42. | [common/punctuation/hellip](../src/rules/common/punctuation/hellip.ts) | Replacement of three points by ellipsis | 410 | default | ✓ | +| 43. | [common/punctuation/quote](../src/rules/common/punctuation/quote.ts) | Placement of quotation marks in texts | 410 | default | ✓ | +| 44. | [ru/punctuation/ano](../src/rules/ru/punctuation/ano.ts) | Placement of commas before “а” and “но” | 410 | hide-safe-tags-html | ✓ | +| 45. | [ru/punctuation/exclamation](../src/rules/ru/punctuation/exclamation.ts) | !! → ! | 410 | default | ✓ | +| 46. | [ru/punctuation/hellipQuestion](../src/rules/ru/punctuation/hellipQuestion.ts) | «?…» → «?..», «!…» → «!..», «…,» → «…» | 410 | default | ✓ | +| 47. | [common/punctuation/quoteLink](../src/rules/common/punctuation/quoteLink.ts) | Removal quotes outside a link | 415 | show-safe-tags-html | ✓ | +| 48. | [ru/punctuation/exclamationQuestion](../src/rules/ru/punctuation/exclamationQuestion.ts) | !? → ?! | 415 | default | ✓ | +| 49. | [common/nbsp/afterNumber](../src/rules/common/nbsp/afterNumber.ts) | Non-breaking space between number and word | 510 | default | | +| 50. | [common/nbsp/afterParagraphMark](../src/rules/common/nbsp/afterParagraphMark.ts) | Non-breaking space after ¶ | 510 | default | ✓ | +| 51. | [common/nbsp/afterSectionMark](../src/rules/common/nbsp/afterSectionMark.ts) | Non-breaking space after § | 510 | default | ✓ | +| 52. | [common/nbsp/afterShortWord](../src/rules/common/nbsp/afterShortWord.ts) | Non-breaking space after short word | 510 | default | ✓ | +| 53. | [common/nbsp/beforeShortLastNumber](../src/rules/common/nbsp/beforeShortLastNumber.ts) | Non-breaking space before number (maximum 2 digits) at end of sentence | 510 | default | ✓ | +| 54. | [common/nbsp/beforeShortLastWord](../src/rules/common/nbsp/beforeShortLastWord.ts) | Non-breaking space before last short word in sentence | 510 | default | ✓ | +| 55. | [common/nbsp/dpi](../src/rules/common/nbsp/dpi.ts) | Non-breaking space before lpi and dpi | 510 | default | ✓ | +| 56. | [common/nbsp/nowrap](../src/rules/common/nbsp/nowrap.ts) | Replace non-breaking space to normal space in tags nowrap and nobr | 510 | end | ✓ | +| 57. | [common/nbsp/replaceNbsp](../src/rules/common/nbsp/replaceNbsp.ts) | Replacing non-breaking space on normal before text correction | 510 | utf | | +| 58. | [ru/nbsp/abbr](../src/rules/ru/nbsp/abbr.ts) | Non-breaking space in abbreviations, e.g. “т. д.” | 510 | default | ✓ | +| 59. | [ru/nbsp/addr](../src/rules/ru/nbsp/addr.ts) | Placement of non-breaking space after “г.”, “обл.”, “ул.”, “пр.”, “кв.” et al. | 510 | default | ✓ | +| 60. | [ru/nbsp/afterNumberSign](../src/rules/ru/nbsp/afterNumberSign.ts) | Non-breaking thin space after № | 510 | default | ✓ | +| 61. | [ru/nbsp/centuries](../src/rules/ru/nbsp/centuries.ts) | Remove spaces and extra points in “вв.” | 510 | default | ✓ | +| 62. | [ru/nbsp/dayMonth](../src/rules/ru/nbsp/dayMonth.ts) | Non-breaking space between number and month | 510 | default | ✓ | +| 63. | [ru/nbsp/initials](../src/rules/ru/nbsp/initials.ts) | Binding of initials to the name | 510 | default | ✓ | +| 64. | [ru/nbsp/mln](../src/rules/ru/nbsp/mln.ts) | Non-breaking space between number and “тыс.”, “млн”, “млрд” and “трлн” | 510 | default | ✓ | +| 65. | [ru/nbsp/ooo](../src/rules/ru/nbsp/ooo.ts) | Non-breaking space after “OOO, ОАО, ЗАО, НИИ, ПБОЮЛ” | 510 | default | ✓ | +| 66. | [ru/nbsp/page](../src/rules/ru/nbsp/page.ts) | Non-breaking space after “стр.”, “гл.”, “рис.”, “илл.” | 510 | default | ✓ | +| 67. | [ru/nbsp/ps](../src/rules/ru/nbsp/ps.ts) | Non-breaking space in P. S. and P. P. S. | 510 | default | ✓ | +| 68. | [ru/nbsp/rubleKopek](../src/rules/ru/nbsp/rubleKopek.ts) | Not once. space before the “rub” and “cop.” | 510 | default | ✓ | +| 69. | [ru/nbsp/see](../src/rules/ru/nbsp/see.ts) | Non-breaking space after abbreviation «см.» and «им.» | 510 | default | ✓ | +| 70. | [ru/nbsp/year](../src/rules/ru/nbsp/year.ts) | Non-breaking space before XXXX г. (2012 г.) | 510 | default | ✓ | +| 71. | [ru/nbsp/beforeParticle](../src/rules/ru/nbsp/beforeParticle.ts) | Non-breaking space before “ли”, “ль”, “же”, “бы”, “б” | 515 | default | ✓ | +| 72. | [ru/nbsp/m](../src/rules/ru/nbsp/m.ts) | m2 → м², m3 → м³ and non-breaking space | 515 | default | ✓ | +| 73. | [ru/nbsp/years](../src/rules/ru/nbsp/years.ts) | г.г. → гг. and non-breaking space | 515 | default | ✓ | +| 74. | [common/number/fraction](../src/rules/common/number/fraction.ts) | 1/2 → ½, 1/4 → ¼, 3/4 → ¾ | 610 | default | ✓ | +| 75. | [common/number/mathSigns](../src/rules/common/number/mathSigns.ts) | != → ≠, <= → ≤, >= → ≥, ~= → ≅, +- → ± | 610 | default | ✓ | +| 76. | [common/number/times](../src/rules/common/number/times.ts) | x → × (10 x 5 → 10×5) | 610 | default | ✓ | +| 77. | [ru/number/comma](../src/rules/ru/number/comma.ts) | Commas in numbers | 610 | default | ✓ | +| 78. | [ru/number/ordinals](../src/rules/ru/number/ordinals.ts) | N-ый, -ой, -ая, -ое, -ые, -ым, -ом, -ых → N-й, -я, -е, -м, -х (25-й) | 610 | default | ✓ | +| 79. | [ru/money/currency](../src/rules/ru/money/currency.ts) | Currency symbol ($, €, ¥, Ұ, £ and ₤) after the number, $100 → 100 $ | 710 | default | | +| 80. | [ru/money/ruble](../src/rules/ru/money/ruble.ts) | 1 руб. → 1 ₽ | 710 | default | | +| 81. | [ru/date/fromISO](../src/rules/ru/date/fromISO.ts) | Converting dates YYYY-MM-DD type DD.MM.YYYY | 810 | default | ✓ | +| 82. | [ru/date/weekday](../src/rules/ru/date/weekday.ts) | 2 Мая, Понедельник → 2 мая, понедельник | 810 | default | ✓ | +| 83. | [common/other/repeatWord](../src/rules/common/other/repeatWord.ts) | Removing repeat words | 910 | default | | +| 84. | [ru/other/accent](../src/rules/ru/other/accent.ts) | Replacement capital letters to lowercase with addition of accent | 910 | default | | +| 85. | [ru/other/phoneNumber](../src/rules/ru/other/phoneNumber.ts) | Formatting phone numbers | 910 | default | ✓ | +| 86. | [common/number/digitGrouping](../src/rules/common/number/digitGrouping.ts) | Divide into groups numbers with many digits | 920 | default | | +| 87. | [ru/optalign/bracket](../src/rules/ru/optalign/bracket.ts) | for opening bracket | 1010 | default | | +| 88. | [ru/optalign/comma](../src/rules/ru/optalign/comma.ts) | for comma | 1010 | default | | +| 89. | [ru/optalign/quote](../src/rules/ru/optalign/quote.ts) | for opening quotation marks | 1010 | default | | +| 90. | [ru/typo/switchingKeyboardLayout](../src/rules/ru/typo/switchingKeyboardLayout.ts) | Replacement of Latin letters in Russian. Typos occur when you switch keyboard layouts | 1110 | default | ✓ | +| 91. | [common/html/e-mail](../src/rules/common/html/e-mail.ts) | Placement of links for e-mail | 1210 | end | | +| 92. | [common/html/processingAttrs](../src/rules/common/html/processingAttrs.ts) | Processing HTML attributes | 1210 | hide-safe-tags-own | | +| 93. | [common/html/quot](../src/rules/common/html/quot.ts) | &⁠quot; → " | 1210 | hide-safe-tags | ✓ | +| 94. | [common/html/url](../src/rules/common/html/url.ts) | Placement of links | 1210 | end | | +| 95. | [common/html/p](../src/rules/common/html/p.ts) | Placement of paragraph | 1215 | end | | +| 96. | [common/html/nbr](../src/rules/common/html/nbr.ts) | Replacement line break on
| 1220 | end | | +| 97. | [common/html/stripTags](../src/rules/common/html/stripTags.ts) | Removing HTML-tags | 1309 | end | | +| 98. | [common/html/escape](../src/rules/common/html/escape.ts) | Escaping HTML | 1310 | end | | diff --git a/docs/RULES_SORTED.ru.md b/docs/RULES_SORTED.ru.md index 4f36c7d2..e74cdab6 100644 --- a/docs/RULES_SORTED.ru.md +++ b/docs/RULES_SORTED.ru.md @@ -2,101 +2,101 @@ | № | [Имя](./RULES.ru.md) | Название | Индекс ▼ | Очередь | Вкл. | |--:|-------------------|----------|---------:|:-------:|:----:| -| 1. | [common/other/delBOM](../src/rules/common/other/delBOM.js) | Удаление символа BOM (Byte Order Mark) | -1 | start | ✓ | -| 2. | [common/symbols/arrow](../src/rules/common/symbols/arrow.js) | -> → →, <- → ← | 110 | | ✓ | -| 3. | [common/symbols/cf](../src/rules/common/symbols/cf.js) | Добавление ° к C и F | 110 | | ✓ | -| 4. | [common/symbols/copy](../src/rules/common/symbols/copy.js) | (c) → ©, (tm) → ™, (r) → ® | 110 | | ✓ | -| 5. | [ru/symbols/NN](../src/rules/ru/symbols/NN.js) | №№ → № | 110 | | ✓ | -| 6. | [common/space/replaceTab](../src/rules/common/space/replaceTab.js) | Замена таба на 4 пробела | 205 | | ✓ | -| 7. | [common/space/trimLeft](../src/rules/common/space/trimLeft.js) | Удаление пробелов и переносов строк в начале текста | 206 | | ✓ | -| 8. | [common/space/delTrailingBlanks](../src/rules/common/space/delTrailingBlanks.js) | Удаление пробелов в конце строки | 207 | | ✓ | -| 9. | [common/space/trimRight](../src/rules/common/space/trimRight.js) | Удаление пробелов и переносов строк в конце текста | 207 | | ✓ | -| 10. | [common/space/delRepeatN](../src/rules/common/space/delRepeatN.js) | Удаление повторяющихся переносов строки | 209 | | ✓ | -| 11. | [common/space/delRepeatSpace](../src/rules/common/space/delRepeatSpace.js) | Удаление повторяющихся пробелов между символами | 209 | | ✓ | -| 12. | [common/space/afterPunctuation](../src/rules/common/space/afterPunctuation.js) | Пробел после знаков пунктуации | 210 | | ✓ | -| 13. | [common/space/beforeBracket](../src/rules/common/space/beforeBracket.js) | Пробел перед открывающей скобкой | 210 | | ✓ | -| 14. | [common/space/bracket](../src/rules/common/space/bracket.js) | Удаление лишних пробелов после открывающей и перед закрывающей скобкой | 210 | | ✓ | -| 15. | [common/space/delBeforePercent](../src/rules/common/space/delBeforePercent.js) | Удаление пробела перед %, ‰ и ‱ | 210 | | ✓ | -| 16. | [common/space/delBeforePunctuation](../src/rules/common/space/delBeforePunctuation.js) | Удаление пробелов перед знаками пунктуации | 210 | | ✓ | -| 17. | [common/space/delLeadingBlanks](../src/rules/common/space/delLeadingBlanks.js) | Удаление пробелов в начале строки | 210 | | | -| 18. | [common/space/insertFinalNewline](../src/rules/common/space/insertFinalNewline.js) | Вставить в конце текста перевод строки | 210 | end | | -| 19. | [common/space/squareBracket](../src/rules/common/space/squareBracket.js) | Удаление лишних пробелов после открывающей и перед закрывающей квадратной скобкой | 210 | | ✓ | -| 20. | [ru/space/afterHellip](../src/rules/ru/space/afterHellip.js) | Пробел после «...», «!..» и «?..» | 210 | | ✓ | -| 21. | [ru/space/year](../src/rules/ru/space/year.js) | Пробел между числом и словом «год» | 210 | | ✓ | -| 22. | [en-US/dash/main](../src/rules/en-US/dash/main.js) | Замена дефиса на длинное тире | 305 | | ✓ | -| 23. | [ru/dash/main](../src/rules/ru/dash/main.js) | Замена дефиса на тире | 305 | | ✓ | -| 24. | [ru/dash/centuries](../src/rules/ru/dash/centuries.js) | Замена дефиса на тире в веках | 310 | | ✓ | -| 25. | [ru/dash/daysMonth](../src/rules/ru/dash/daysMonth.js) | Тире между днями одного месяца | 310 | | ✓ | -| 26. | [ru/dash/de](../src/rules/ru/dash/de.js) | Дефис перед «де» | 310 | | | -| 27. | [ru/dash/decade](../src/rules/ru/dash/decade.js) | Тире в десятилетиях, 80—90-е гг. | 310 | | ✓ | -| 28. | [ru/dash/directSpeech](../src/rules/ru/dash/directSpeech.js) | Тире в прямой речи | 310 | | ✓ | -| 29. | [ru/dash/izpod](../src/rules/ru/dash/izpod.js) | Дефис между «из-под» | 310 | | ✓ | -| 30. | [ru/dash/izza](../src/rules/ru/dash/izza.js) | Дефис между «из-за» | 310 | | ✓ | -| 31. | [ru/dash/ka](../src/rules/ru/dash/ka.js) | Дефис перед «ка» и «кась» | 310 | | ✓ | -| 32. | [ru/dash/koe](../src/rules/ru/dash/koe.js) | Дефис после «кое» и «кой» | 310 | | ✓ | -| 33. | [ru/dash/month](../src/rules/ru/dash/month.js) | Тире между месяцами | 310 | | ✓ | -| 34. | [ru/dash/surname](../src/rules/ru/dash/surname.js) | Сокращения с помощью тире | 310 | | ✓ | -| 35. | [ru/dash/taki](../src/rules/ru/dash/taki.js) | Дефис между «верно-таки» и т. д. | 310 | | ✓ | -| 36. | [ru/dash/time](../src/rules/ru/dash/time.js) | Тире в интервалах времени | 310 | | ✓ | -| 37. | [ru/dash/to](../src/rules/ru/dash/to.js) | Дефис перед «то», «либо», «нибудь» | 310 | | ✓ | -| 38. | [ru/dash/weekday](../src/rules/ru/dash/weekday.js) | Тире между днями недели | 310 | | ✓ | -| 39. | [ru/dash/years](../src/rules/ru/dash/years.js) | Замена дефиса на тире в годах | 310 | | ✓ | -| 40. | [common/punctuation/apostrophe](../src/rules/common/punctuation/apostrophe.js) | Расстановка правильного апострофа | 410 | | ✓ | -| 41. | [common/punctuation/delDoublePunctuation](../src/rules/common/punctuation/delDoublePunctuation.js) | Удаление двойной пунктуации | 410 | | ✓ | -| 42. | [common/punctuation/hellip](../src/rules/common/punctuation/hellip.js) | Замена трёх точек на многоточие | 410 | | ✓ | -| 43. | [common/punctuation/quote](../src/rules/common/punctuation/quote.js) | Расстановка кавычек правильного вида | 410 | | ✓ | -| 44. | [ru/punctuation/ano](../src/rules/ru/punctuation/ano.js) | Расстановка запятых перед «а» и «но» | 410 | hide-safe-tags-html | ✓ | -| 45. | [ru/punctuation/exclamation](../src/rules/ru/punctuation/exclamation.js) | !! → ! | 410 | | ✓ | -| 46. | [ru/punctuation/hellipQuestion](../src/rules/ru/punctuation/hellipQuestion.js) | «?…» → «?..», «!…» → «!..», «…,» → «…» | 410 | | ✓ | -| 47. | [common/punctuation/quoteLink](../src/rules/common/punctuation/quoteLink.js) | Вынос кавычек за пределы ссылки | 415 | show-safe-tags-html | ✓ | -| 48. | [ru/punctuation/exclamationQuestion](../src/rules/ru/punctuation/exclamationQuestion.js) | !? → ?! | 415 | | ✓ | -| 49. | [common/nbsp/afterNumber](../src/rules/common/nbsp/afterNumber.js) | Нераз. пробел между числом и словом | 510 | | | -| 50. | [common/nbsp/afterParagraphMark](../src/rules/common/nbsp/afterParagraphMark.js) | Нераз. пробел после ¶ | 510 | | ✓ | -| 51. | [common/nbsp/afterSectionMark](../src/rules/common/nbsp/afterSectionMark.js) | Нераз. узкий пробел после § | 510 | | ✓ | -| 52. | [common/nbsp/afterShortWord](../src/rules/common/nbsp/afterShortWord.js) | Нераз. пробел после короткого слова | 510 | | ✓ | -| 53. | [common/nbsp/beforeShortLastNumber](../src/rules/common/nbsp/beforeShortLastNumber.js) | Нераз. пробел перед числом (не более 2 цифр) в конце предложения | 510 | | ✓ | -| 54. | [common/nbsp/beforeShortLastWord](../src/rules/common/nbsp/beforeShortLastWord.js) | Нераз. пробел перед последним коротким словом в предложении | 510 | | ✓ | -| 55. | [common/nbsp/dpi](../src/rules/common/nbsp/dpi.js) | Нераз. пробел перед lpi и dpi | 510 | | ✓ | -| 56. | [common/nbsp/nowrap](../src/rules/common/nbsp/nowrap.js) | Заменять нераз. пробел на обычный пробел в тегах nowrap и nobr | 510 | end | ✓ | -| 57. | [common/nbsp/replaceNbsp](../src/rules/common/nbsp/replaceNbsp.js) | Замена неразрывного пробела на обычный перед типографированием | 510 | utf | | -| 58. | [ru/nbsp/abbr](../src/rules/ru/nbsp/abbr.js) | Нераз. пробел в сокращениях, например, в «т. д.» | 510 | | ✓ | -| 59. | [ru/nbsp/addr](../src/rules/ru/nbsp/addr.js) | Расстановка нераз. пробела после «г.», «обл.», «ул.», «пр.», «кв.» и др. | 510 | | ✓ | -| 60. | [ru/nbsp/afterNumberSign](../src/rules/ru/nbsp/afterNumberSign.js) | Нераз. узкий пробел после № | 510 | | ✓ | -| 61. | [ru/nbsp/centuries](../src/rules/ru/nbsp/centuries.js) | Удаление пробелов и лишних точек в «вв.» | 510 | | ✓ | -| 62. | [ru/nbsp/dayMonth](../src/rules/ru/nbsp/dayMonth.js) | Нераз. пробел между числом и месяцем | 510 | | ✓ | -| 63. | [ru/nbsp/initials](../src/rules/ru/nbsp/initials.js) | Привязка инициалов к фамилии | 510 | | ✓ | -| 64. | [ru/nbsp/mln](../src/rules/ru/nbsp/mln.js) | Неразр. пробел между числом и «тыс.», «млн», «млрд» и «трлн» | 510 | | ✓ | -| 65. | [ru/nbsp/ooo](../src/rules/ru/nbsp/ooo.js) | Нераз. пробел после OOO, ОАО, ЗАО, НИИ и ПБОЮЛ | 510 | | ✓ | -| 66. | [ru/nbsp/page](../src/rules/ru/nbsp/page.js) | Нераз. пробел после «стр.», «гл.», «рис.», «илл.» | 510 | | ✓ | -| 67. | [ru/nbsp/ps](../src/rules/ru/nbsp/ps.js) | Нераз. пробел в P. S. и P. P. S. | 510 | | ✓ | -| 68. | [ru/nbsp/rubleKopek](../src/rules/ru/nbsp/rubleKopek.js) | Нераз. пробел перед «руб.» и «коп.» | 510 | | ✓ | -| 69. | [ru/nbsp/see](../src/rules/ru/nbsp/see.js) | Нераз. пробел после сокращений «см.» и «им.» | 510 | | ✓ | -| 70. | [ru/nbsp/year](../src/rules/ru/nbsp/year.js) | Нераз. пробел после XXXX г. (2012 г.) | 510 | | ✓ | -| 71. | [ru/nbsp/beforeParticle](../src/rules/ru/nbsp/beforeParticle.js) | Нераз. пробел перед «ли», «ль», «же», «бы», «б» | 515 | | ✓ | -| 72. | [ru/nbsp/m](../src/rules/ru/nbsp/m.js) | м2 → м², м3 → м³ и нераз. пробел | 515 | | ✓ | -| 73. | [ru/nbsp/years](../src/rules/ru/nbsp/years.js) | г.г. → гг. и нераз. пробел | 515 | | ✓ | -| 74. | [common/number/fraction](../src/rules/common/number/fraction.js) | 1/2 → ½, 1/4 → ¼, 3/4 → ¾ | 610 | | ✓ | -| 75. | [common/number/mathSigns](../src/rules/common/number/mathSigns.js) | != → ≠, <= → ≤, >= → ≥, ~= → ≅, +- → ± | 610 | | ✓ | -| 76. | [common/number/times](../src/rules/common/number/times.js) | x → × (10 x 5 → 10×5) | 610 | | ✓ | -| 77. | [ru/number/comma](../src/rules/ru/number/comma.js) | Замена точки на запятую в числах | 610 | | ✓ | -| 78. | [ru/number/ordinals](../src/rules/ru/number/ordinals.js) | N-ый, -ой, -ая, -ое, -ые, -ым, -ом, -ых → N-й, -я, -е, -м, -х (25-й) | 610 | | ✓ | -| 79. | [ru/money/currency](../src/rules/ru/money/currency.js) | Символ валюты ($, €, ¥, Ұ, £ и ₤) после числа, $100 → 100 $ | 710 | | | -| 80. | [ru/money/ruble](../src/rules/ru/money/ruble.js) | 1 руб. → 1 ₽ | 710 | | | -| 81. | [ru/date/fromISO](../src/rules/ru/date/fromISO.js) | Преобразование дат YYYY-MM-DD к виду DD.MM.YYYY | 810 | | ✓ | -| 82. | [ru/date/weekday](../src/rules/ru/date/weekday.js) | 2 Мая, Понедельник → 2 мая, понедельник | 810 | | ✓ | -| 83. | [common/other/repeatWord](../src/rules/common/other/repeatWord.js) | Удаление повтора слова | 910 | | | -| 84. | [ru/other/accent](../src/rules/ru/other/accent.js) | Замена заглавной буквы на строчную с добавлением ударения | 910 | | | -| 85. | [ru/other/phone-number](../src/rules/ru/other/phone-number.js) | Форматирование телефонных номеров | 910 | | ✓ | -| 86. | [common/number/digitGrouping](../src/rules/common/number/digitGrouping.js) | Разбивать длинные числа по разрядам | 920 | | | -| 87. | [ru/optalign/bracket](../src/rules/ru/optalign/bracket.js) | для открывающей скобки | 1010 | | | -| 88. | [ru/optalign/comma](../src/rules/ru/optalign/comma.js) | для запятой | 1010 | | | -| 89. | [ru/optalign/quote](../src/rules/ru/optalign/quote.js) | для открывающей кавычки | 1010 | | | -| 90. | [ru/typo/switchingKeyboardLayout](../src/rules/ru/typo/switchingKeyboardLayout.js) | Замена латинских букв на русские. Опечатки, возникающие при переключении клавиатурной раскладки | 1110 | | ✓ | -| 91. | [common/html/e-mail](../src/rules/common/html/e-mail.js) | Расстановка ссылок для эл. почты | 1210 | end | | -| 92. | [common/html/processingAttrs](../src/rules/common/html/processingAttrs.js) | Типографирование HTML-атрибутов | 1210 | hide-safe-tags-own | | -| 93. | [common/html/quot](../src/rules/common/html/quot.js) | &⁠quot; → " | 1210 | hide-safe-tags | ✓ | -| 94. | [common/html/url](../src/rules/common/html/url.js) | Расстановка ссылок | 1210 | end | | -| 95. | [common/html/p](../src/rules/common/html/p.js) | Расстановка абзацев | 1215 | end | | -| 96. | [common/html/nbr](../src/rules/common/html/nbr.js) | Замена перевода строки на
| 1220 | end | | -| 97. | [common/html/stripTags](../src/rules/common/html/stripTags.js) | Удаление HTML-тегов | 1309 | end | | -| 98. | [common/html/escape](../src/rules/common/html/escape.js) | Экранирование HTML | 1310 | end | | +| 1. | [common/other/delBOM](../src/rules/common/other/delBOM.ts) | Удаление символа BOM (Byte Order Mark) | -1 | start | ✓ | +| 2. | [common/symbols/arrow](../src/rules/common/symbols/arrow.ts) | -> → →, <- → ← | 110 | default | ✓ | +| 3. | [common/symbols/cf](../src/rules/common/symbols/cf.ts) | Добавление ° к C и F | 110 | default | ✓ | +| 4. | [common/symbols/copy](../src/rules/common/symbols/copy.ts) | (c) → ©, (tm) → ™, (r) → ® | 110 | default | ✓ | +| 5. | [ru/symbols/NN](../src/rules/ru/symbols/NN.ts) | №№ → № | 110 | default | ✓ | +| 6. | [common/space/replaceTab](../src/rules/common/space/replaceTab.ts) | Замена таба на 4 пробела | 205 | default | ✓ | +| 7. | [common/space/trimLeft](../src/rules/common/space/trimLeft.ts) | Удаление пробелов и переносов строк в начале текста | 206 | default | ✓ | +| 8. | [common/space/delTrailingBlanks](../src/rules/common/space/delTrailingBlanks.ts) | Удаление пробелов в конце строки | 207 | default | ✓ | +| 9. | [common/space/trimRight](../src/rules/common/space/trimRight.ts) | Удаление пробелов и переносов строк в конце текста | 207 | default | ✓ | +| 10. | [common/space/delRepeatN](../src/rules/common/space/delRepeatN.ts) | Удаление повторяющихся переносов строки | 209 | default | ✓ | +| 11. | [common/space/delRepeatSpace](../src/rules/common/space/delRepeatSpace.ts) | Удаление повторяющихся пробелов между символами | 209 | default | ✓ | +| 12. | [common/space/afterPunctuation](../src/rules/common/space/afterPunctuation.ts) | Пробел после знаков пунктуации | 210 | default | ✓ | +| 13. | [common/space/beforeBracket](../src/rules/common/space/beforeBracket.ts) | Пробел перед открывающей скобкой | 210 | default | ✓ | +| 14. | [common/space/bracket](../src/rules/common/space/bracket.ts) | Удаление лишних пробелов после открывающей и перед закрывающей скобкой | 210 | default | ✓ | +| 15. | [common/space/delBeforePercent](../src/rules/common/space/delBeforePercent.ts) | Удаление пробела перед %, ‰ и ‱ | 210 | default | ✓ | +| 16. | [common/space/delBeforePunctuation](../src/rules/common/space/delBeforePunctuation.ts) | Удаление пробелов перед знаками пунктуации | 210 | default | ✓ | +| 17. | [common/space/delLeadingBlanks](../src/rules/common/space/delLeadingBlanks.ts) | Удаление пробелов в начале строки | 210 | default | | +| 18. | [common/space/insertFinalNewline](../src/rules/common/space/insertFinalNewline.ts) | Вставить в конце текста перевод строки | 210 | end | | +| 19. | [common/space/squareBracket](../src/rules/common/space/squareBracket.ts) | Удаление лишних пробелов после открывающей и перед закрывающей квадратной скобкой | 210 | default | ✓ | +| 20. | [ru/space/afterHellip](../src/rules/ru/space/afterHellip.ts) | Пробел после «...», «!..» и «?..» | 210 | default | ✓ | +| 21. | [ru/space/year](../src/rules/ru/space/year.ts) | Пробел между числом и словом «год» | 210 | default | ✓ | +| 22. | [en-US/dash/main](../src/rules/en-US/dash/main.ts) | Замена дефиса на длинное тире | 305 | default | ✓ | +| 23. | [ru/dash/main](../src/rules/ru/dash/main.ts) | Замена дефиса на тире | 305 | default | ✓ | +| 24. | [ru/dash/centuries](../src/rules/ru/dash/centuries.ts) | Замена дефиса на тире в веках | 310 | default | ✓ | +| 25. | [ru/dash/daysMonth](../src/rules/ru/dash/daysMonth.ts) | Тире между днями одного месяца | 310 | default | ✓ | +| 26. | [ru/dash/de](../src/rules/ru/dash/de.ts) | Дефис перед «де» | 310 | default | | +| 27. | [ru/dash/decade](../src/rules/ru/dash/decade.ts) | Тире в десятилетиях, 80—90-е гг. | 310 | default | ✓ | +| 28. | [ru/dash/directSpeech](../src/rules/ru/dash/directSpeech.ts) | Тире в прямой речи | 310 | default | ✓ | +| 29. | [ru/dash/izpod](../src/rules/ru/dash/izpod.ts) | Дефис между «из-под» | 310 | default | ✓ | +| 30. | [ru/dash/izza](../src/rules/ru/dash/izza.ts) | Дефис между «из-за» | 310 | default | ✓ | +| 31. | [ru/dash/ka](../src/rules/ru/dash/ka.ts) | Дефис перед «ка» и «кась» | 310 | default | ✓ | +| 32. | [ru/dash/koe](../src/rules/ru/dash/koe.ts) | Дефис после «кое» и «кой» | 310 | default | ✓ | +| 33. | [ru/dash/month](../src/rules/ru/dash/month.ts) | Тире между месяцами | 310 | default | ✓ | +| 34. | [ru/dash/surname](../src/rules/ru/dash/surname.ts) | Сокращения с помощью тире | 310 | default | ✓ | +| 35. | [ru/dash/taki](../src/rules/ru/dash/taki.ts) | Дефис между «верно-таки» и т. д. | 310 | default | ✓ | +| 36. | [ru/dash/time](../src/rules/ru/dash/time.ts) | Тире в интервалах времени | 310 | default | ✓ | +| 37. | [ru/dash/to](../src/rules/ru/dash/to.ts) | Дефис перед «то», «либо», «нибудь» | 310 | default | ✓ | +| 38. | [ru/dash/weekday](../src/rules/ru/dash/weekday.ts) | Тире между днями недели | 310 | default | ✓ | +| 39. | [ru/dash/years](../src/rules/ru/dash/years.ts) | Замена дефиса на тире в годах | 310 | default | ✓ | +| 40. | [common/punctuation/apostrophe](../src/rules/common/punctuation/apostrophe.ts) | Расстановка правильного апострофа | 410 | default | ✓ | +| 41. | [common/punctuation/delDoublePunctuation](../src/rules/common/punctuation/delDoublePunctuation.ts) | Удаление двойной пунктуации | 410 | default | ✓ | +| 42. | [common/punctuation/hellip](../src/rules/common/punctuation/hellip.ts) | Замена трёх точек на многоточие | 410 | default | ✓ | +| 43. | [common/punctuation/quote](../src/rules/common/punctuation/quote.ts) | Расстановка кавычек правильного вида | 410 | default | ✓ | +| 44. | [ru/punctuation/ano](../src/rules/ru/punctuation/ano.ts) | Расстановка запятых перед «а» и «но» | 410 | hide-safe-tags-html | ✓ | +| 45. | [ru/punctuation/exclamation](../src/rules/ru/punctuation/exclamation.ts) | !! → ! | 410 | default | ✓ | +| 46. | [ru/punctuation/hellipQuestion](../src/rules/ru/punctuation/hellipQuestion.ts) | «?…» → «?..», «!…» → «!..», «…,» → «…» | 410 | default | ✓ | +| 47. | [common/punctuation/quoteLink](../src/rules/common/punctuation/quoteLink.ts) | Вынос кавычек за пределы ссылки | 415 | show-safe-tags-html | ✓ | +| 48. | [ru/punctuation/exclamationQuestion](../src/rules/ru/punctuation/exclamationQuestion.ts) | !? → ?! | 415 | default | ✓ | +| 49. | [common/nbsp/afterNumber](../src/rules/common/nbsp/afterNumber.ts) | Нераз. пробел между числом и словом | 510 | default | | +| 50. | [common/nbsp/afterParagraphMark](../src/rules/common/nbsp/afterParagraphMark.ts) | Нераз. пробел после ¶ | 510 | default | ✓ | +| 51. | [common/nbsp/afterSectionMark](../src/rules/common/nbsp/afterSectionMark.ts) | Нераз. узкий пробел после § | 510 | default | ✓ | +| 52. | [common/nbsp/afterShortWord](../src/rules/common/nbsp/afterShortWord.ts) | Нераз. пробел после короткого слова | 510 | default | ✓ | +| 53. | [common/nbsp/beforeShortLastNumber](../src/rules/common/nbsp/beforeShortLastNumber.ts) | Нераз. пробел перед числом (не более 2 цифр) в конце предложения | 510 | default | ✓ | +| 54. | [common/nbsp/beforeShortLastWord](../src/rules/common/nbsp/beforeShortLastWord.ts) | Нераз. пробел перед последним коротким словом в предложении | 510 | default | ✓ | +| 55. | [common/nbsp/dpi](../src/rules/common/nbsp/dpi.ts) | Нераз. пробел перед lpi и dpi | 510 | default | ✓ | +| 56. | [common/nbsp/nowrap](../src/rules/common/nbsp/nowrap.ts) | Заменять нераз. пробел на обычный пробел в тегах nowrap и nobr | 510 | end | ✓ | +| 57. | [common/nbsp/replaceNbsp](../src/rules/common/nbsp/replaceNbsp.ts) | Замена неразрывного пробела на обычный перед типографированием | 510 | utf | | +| 58. | [ru/nbsp/abbr](../src/rules/ru/nbsp/abbr.ts) | Нераз. пробел в сокращениях, например, в «т. д.» | 510 | default | ✓ | +| 59. | [ru/nbsp/addr](../src/rules/ru/nbsp/addr.ts) | Расстановка нераз. пробела после «г.», «обл.», «ул.», «пр.», «кв.» и др. | 510 | default | ✓ | +| 60. | [ru/nbsp/afterNumberSign](../src/rules/ru/nbsp/afterNumberSign.ts) | Нераз. узкий пробел после № | 510 | default | ✓ | +| 61. | [ru/nbsp/centuries](../src/rules/ru/nbsp/centuries.ts) | Удаление пробелов и лишних точек в «вв.» | 510 | default | ✓ | +| 62. | [ru/nbsp/dayMonth](../src/rules/ru/nbsp/dayMonth.ts) | Нераз. пробел между числом и месяцем | 510 | default | ✓ | +| 63. | [ru/nbsp/initials](../src/rules/ru/nbsp/initials.ts) | Привязка инициалов к фамилии | 510 | default | ✓ | +| 64. | [ru/nbsp/mln](../src/rules/ru/nbsp/mln.ts) | Неразр. пробел между числом и «тыс.», «млн», «млрд» и «трлн» | 510 | default | ✓ | +| 65. | [ru/nbsp/ooo](../src/rules/ru/nbsp/ooo.ts) | Нераз. пробел после OOO, ОАО, ЗАО, НИИ и ПБОЮЛ | 510 | default | ✓ | +| 66. | [ru/nbsp/page](../src/rules/ru/nbsp/page.ts) | Нераз. пробел после «стр.», «гл.», «рис.», «илл.» | 510 | default | ✓ | +| 67. | [ru/nbsp/ps](../src/rules/ru/nbsp/ps.ts) | Нераз. пробел в P. S. и P. P. S. | 510 | default | ✓ | +| 68. | [ru/nbsp/rubleKopek](../src/rules/ru/nbsp/rubleKopek.ts) | Нераз. пробел перед «руб.» и «коп.» | 510 | default | ✓ | +| 69. | [ru/nbsp/see](../src/rules/ru/nbsp/see.ts) | Нераз. пробел после сокращений «см.» и «им.» | 510 | default | ✓ | +| 70. | [ru/nbsp/year](../src/rules/ru/nbsp/year.ts) | Нераз. пробел после XXXX г. (2012 г.) | 510 | default | ✓ | +| 71. | [ru/nbsp/beforeParticle](../src/rules/ru/nbsp/beforeParticle.ts) | Нераз. пробел перед «ли», «ль», «же», «бы», «б» | 515 | default | ✓ | +| 72. | [ru/nbsp/m](../src/rules/ru/nbsp/m.ts) | м2 → м², м3 → м³ и нераз. пробел | 515 | default | ✓ | +| 73. | [ru/nbsp/years](../src/rules/ru/nbsp/years.ts) | г.г. → гг. и нераз. пробел | 515 | default | ✓ | +| 74. | [common/number/fraction](../src/rules/common/number/fraction.ts) | 1/2 → ½, 1/4 → ¼, 3/4 → ¾ | 610 | default | ✓ | +| 75. | [common/number/mathSigns](../src/rules/common/number/mathSigns.ts) | != → ≠, <= → ≤, >= → ≥, ~= → ≅, +- → ± | 610 | default | ✓ | +| 76. | [common/number/times](../src/rules/common/number/times.ts) | x → × (10 x 5 → 10×5) | 610 | default | ✓ | +| 77. | [ru/number/comma](../src/rules/ru/number/comma.ts) | Замена точки на запятую в числах | 610 | default | ✓ | +| 78. | [ru/number/ordinals](../src/rules/ru/number/ordinals.ts) | N-ый, -ой, -ая, -ое, -ые, -ым, -ом, -ых → N-й, -я, -е, -м, -х (25-й) | 610 | default | ✓ | +| 79. | [ru/money/currency](../src/rules/ru/money/currency.ts) | Символ валюты ($, €, ¥, Ұ, £ и ₤) после числа, $100 → 100 $ | 710 | default | | +| 80. | [ru/money/ruble](../src/rules/ru/money/ruble.ts) | 1 руб. → 1 ₽ | 710 | default | | +| 81. | [ru/date/fromISO](../src/rules/ru/date/fromISO.ts) | Преобразование дат YYYY-MM-DD к виду DD.MM.YYYY | 810 | default | ✓ | +| 82. | [ru/date/weekday](../src/rules/ru/date/weekday.ts) | 2 Мая, Понедельник → 2 мая, понедельник | 810 | default | ✓ | +| 83. | [common/other/repeatWord](../src/rules/common/other/repeatWord.ts) | Удаление повтора слова | 910 | default | | +| 84. | [ru/other/accent](../src/rules/ru/other/accent.ts) | Замена заглавной буквы на строчную с добавлением ударения | 910 | default | | +| 85. | [ru/other/phoneNumber](../src/rules/ru/other/phoneNumber.ts) | Форматирование телефонных номеров | 910 | default | ✓ | +| 86. | [common/number/digitGrouping](../src/rules/common/number/digitGrouping.ts) | Разбивать длинные числа по разрядам | 920 | default | | +| 87. | [ru/optalign/bracket](../src/rules/ru/optalign/bracket.ts) | для открывающей скобки | 1010 | default | | +| 88. | [ru/optalign/comma](../src/rules/ru/optalign/comma.ts) | для запятой | 1010 | default | | +| 89. | [ru/optalign/quote](../src/rules/ru/optalign/quote.ts) | для открывающей кавычки | 1010 | default | | +| 90. | [ru/typo/switchingKeyboardLayout](../src/rules/ru/typo/switchingKeyboardLayout.ts) | Замена латинских букв на русские. Опечатки, возникающие при переключении клавиатурной раскладки | 1110 | default | ✓ | +| 91. | [common/html/e-mail](../src/rules/common/html/e-mail.ts) | Расстановка ссылок для эл. почты | 1210 | end | | +| 92. | [common/html/processingAttrs](../src/rules/common/html/processingAttrs.ts) | Типографирование HTML-атрибутов | 1210 | hide-safe-tags-own | | +| 93. | [common/html/quot](../src/rules/common/html/quot.ts) | &⁠quot; → " | 1210 | hide-safe-tags | ✓ | +| 94. | [common/html/url](../src/rules/common/html/url.ts) | Расстановка ссылок | 1210 | end | | +| 95. | [common/html/p](../src/rules/common/html/p.ts) | Расстановка абзацев | 1215 | end | | +| 96. | [common/html/nbr](../src/rules/common/html/nbr.ts) | Замена перевода строки на
| 1220 | end | | +| 97. | [common/html/stripTags](../src/rules/common/html/stripTags.ts) | Удаление HTML-тегов | 1309 | end | | +| 98. | [common/html/escape](../src/rules/common/html/escape.ts) | Экранирование HTML | 1310 | end | | diff --git a/docs/api_attrs.md b/docs/api_attrs.md index d8332656..9f3f6750 100644 --- a/docs/api_attrs.md +++ b/docs/api_attrs.md @@ -2,9 +2,13 @@ Для типографирования HTML-атрибутов необходимо включить правило `common/html/processingAttrs`. В правиле, по умолчанию, обрабатываются атрибуты `title` и `placeholder`. ```js -var tp = new Typograf({locale: ['ru', 'en-US']}); +const tp = new Typograf({locale: ['ru', 'en-US']}); tp.enableRule('common/html/processingAttrs'); // Дополнительно будем типографировать атрибуты alt и my-attr. -tp.setSetting('common/html/processingAttrs', 'attrs', ['title', 'placeholder', 'alt', 'my-attr']); +tp.setSetting( + 'common/html/processingAttrs', + 'attrs', + ['title', 'placeholder', 'alt', 'my-attr'] +); ``` diff --git a/docs/api_entities.md b/docs/api_entities.md index 84f3c6d9..24fcc4e5 100644 --- a/docs/api_entities.md +++ b/docs/api_entities.md @@ -11,13 +11,13 @@ ## Примеры HTML-сущности готовыми символами, по умолчанию: ```js -var tp = new Typograf({locale: ['ru', 'en-US']}); +const tp = new Typograf({locale: ['ru', 'en-US']}); tp.execute('12 кг...'); // 12 кг… ``` HTML-сущности в виде имён: ```js -var tp = new Typograf({ +const tp = new Typograf({ locale: ['ru', 'en-US'], htmlEntity: {type: 'name'} }); @@ -26,7 +26,7 @@ tp.execute('12 кг...'); // 12 кг… HTML-сущности в виде цифр: ```js -var tp = new Typograf({ +const tp = new Typograf({ locale: ['ru', 'en-US'], htmlEntity: {type: 'digit'} }); diff --git a/docs/api_fly.md b/docs/api_fly.md index fbe5b483..c010c800 100644 --- a/docs/api_fly.md +++ b/docs/api_fly.md @@ -1,6 +1,9 @@ # Типографика на лету Данный live-режим необходим, если текст типографируется на каждый ввод символа в текстовых полях. ```js -var tp = new Typograf({locale: ['ru', 'en-US'], live: true}); +const tp = new Typograf({ + locale: ['ru', 'en-US'], + live: true +}); ``` [Подробнее](https://github.com/typograf/jquery-typograf) diff --git a/docs/api_localization.md b/docs/api_localization.md index b2e3eb29..df1775c6 100644 --- a/docs/api_localization.md +++ b/docs/api_localization.md @@ -6,15 +6,15 @@ // Выполняются правила "common/*" и "ru/*". // Кавычки русские. // Расстановка неразрывных пробелов только между русскими словами. -var tpRu = new Typograf({locale: 'ru'}); +const tpRu = new Typograf({locale: 'ru'}); // Выполняются правила "common/*" и "ru/*". // Кавычки русские. // Расстановка неразрывных пробелов между русскими и английскими словами. -var tpRuEn = new Typograf({locale: ['ru', 'en-US']}); +const tpRuEn = new Typograf({locale: ['ru', 'en-US']}); // Выполняются правила "common/*" и "en-US/*". // Кавычки английские. // Расстановка неразрывных пробелов между русскими и английскими словами. -var tpEnRu = new Typograf({locale: ['en-US', 'ru']}); +const tpEnRu = new Typograf({locale: ['en-US', 'ru']}); ``` diff --git a/docs/api_nbsp.md b/docs/api_nbsp.md index d8dfc4d0..2fe6d0f9 100644 --- a/docs/api_nbsp.md +++ b/docs/api_nbsp.md @@ -1,7 +1,7 @@ # Неразрывные пробелы По умолчанию типограф не заменяет неразрывные пробелы на обычные, чтобы не удалить ранее проставленные неразрывные пробелы. Если в тексте неправильно расставлены неразрывные пробелы, включите правило `common/nbsp/replaceNbsp`. ```js -var tp = new Typograf({locale: ['ru', 'en-US']}); +const tp = new Typograf({locale: ['ru', 'en-US']}); tp.enableRule('common/nbsp/replaceNbsp'); ``` diff --git a/docs/api_optalign.md b/docs/api_optalign.md index 29d2e8e6..9eed17dc 100644 --- a/docs/api_optalign.md +++ b/docs/api_optalign.md @@ -3,7 +3,7 @@ Для включения необходимо подключить правила `ru/optalign/*`: ```js -var Typograf = require('typograf'), +const Typograf = require('typograf'), tp = new Typograf({locale: ['ru', 'en-US']}); tp.enableRule('ru/optalign/*'); diff --git a/docs/api_parts.md b/docs/api_parts.md index 66ff271c..201562e6 100644 --- a/docs/api_parts.md +++ b/docs/api_parts.md @@ -1,6 +1,6 @@ # Отключение типографирования в участках текста ```js -var tp = new Typograf({locale: ['ru', 'en-US']}); +const tp = new Typograf({locale: ['ru', 'en-US']}); // Отключить типографирование внутри тега tp.addSafeTag('', ''); diff --git a/docs/api_rules.md b/docs/api_rules.md index eeb5afdf..e911de1d 100644 --- a/docs/api_rules.md +++ b/docs/api_rules.md @@ -1,6 +1,7 @@ ## Включить или отключить правила ```js -var tp = new Typograf({locale: ['ru', 'en-US']}); +const tp = new Typograf({locale: ['ru', 'en-US']}); + tp.enableRule('ru/money/ruble'); // Включить правило tp.enableRule('ru/money/*'); // Включить все правила в группе tp.enableRule('*'); // Включить все правила @@ -12,7 +13,7 @@ tp.disableRule('*'); // Отключить все правила ## Изменить настройку у правила ```js -var tp = new Typograf({locale: ['ru', 'en-US']}); +const tp = new Typograf({locale: ['ru', 'en-US']}); // Название правила, название настройки, значение @@ -31,7 +32,7 @@ tp.setSetting('common/nbsp/afterShortWord', 'lengthShortWord', 3); // Типографический смайлик Typograf.addRule({ name: 'common/other/typographicSmiley', - handler: function (text) { + handler: text => { return text.replace(/:-\)/g, ':—)'); } }); diff --git a/docs/using.md b/docs/using.md index 294b288d..cde001fc 100644 --- a/docs/using.md +++ b/docs/using.md @@ -11,7 +11,7 @@ npm install typograf ```HTML ``` @@ -22,8 +22,8 @@ npm install typograf @@ -35,9 +35,9 @@ npm install typograf