Skip to content

Commit 92fcfed

Browse files
authored
Merge pull request #14 from Spearance/1.2.2
1.2.2
2 parents 04d359b + e100477 commit 92fcfed

File tree

6 files changed

+33
-18
lines changed

6 files changed

+33
-18
lines changed

README.md

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
Верстает текст внутри полей `<input>` и `<textarea>` автоматически при наборе с клавиатуры.
88

99
Умеет:
10-
* Заменять кавычки, тире, спецсимволы: ``, `©`, `®`, ``, ``, `±`
10+
* Заменять кавычки, тире, спецсимволы: ``, `©`, `®`, ``, ``, `±`, `÷`
1111
* Ставить простые дроби: `½`, ``, `¼`, ``, ``, ``, ``, ``, ``, ``, ``, `¾`, ``, ``, ``, ``, ``, ``
1212
* Умеет ставить минус между числами и `×` между размерными единицами
1313
* Привязывать неразрывным пробелом союзы и предлоги к последующим словам, а частицы к предыдущим
@@ -18,11 +18,18 @@
1818

1919
> FlyTypograf.js не является полноценной заменой он-лайн сервиса [typograf.ru](https://typograf.ru) и не может им быть, потому что содержит гораздо меньше правил проверки, но он помогает снять до 80% вопросов экранной типографики.
2020
21-
## Как записывать степени, дюймы, градусы? ##
22-
23-
* Степень — `12^2` = `12²`
24-
* Дюймы — `Монитор 32^"` = `Монитор 32″`
25-
* Градусы — `+32С^o` = `+32С°`
21+
## Как записывать разные символы? ##
22+
| Название | Запись | Замена | Раскладка |
23+
|----------|:------:|:------:|:---------:|
24+
| Кописрайт | `(c)\|(C)` | `©` ||
25+
| Зарегистрированный знак | `(r)\|(R)` | `®` | английская |
26+
| Торговая марка | `(tm)\|(TM)` | `` | английская |
27+
| Рубль | `(р)\|(Р)` | `` | русская |
28+
| Плюс минус | `+/-` | `±` ||
29+
| Разделить | `-:-` | `÷` ||
30+
| Степень | `12^2` | `12²` ||
31+
| Дюймы | `32^"` | `32″` ||
32+
| Градусы | `+32С^o` | `+32С°` ||
2633

2734
## На что обратить внимание! ##
2835

example/example.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

example/index.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
height: 300px;
2323
resize: none;
2424
outline: none;
25-
font-size: 80%;
25+
font-size: 75%;
2626
padding: 20px;
2727
}
2828

@@ -33,7 +33,7 @@
3333
</head>
3434
<body>
3535
<h1>FlyTypograf.js</h1>
36-
<small>версия: 1.2.1</small>
36+
<small>версия: 1.2.2</small>
3737

3838
<p>Наберите текст: "Вы все еще кое-как верстаете в "Word-е"? - Тогда мы идем к вам!"</p>
3939

@@ -44,7 +44,7 @@ <h3>С подсветкой изменений</h3>
4444

4545
<h3>Умеет:</h3>
4646
<ul>
47-
<li>Заменять кавычки, тире, спецсимволы: …, ©, ®, ™, ₽, ±</li>
47+
<li>Заменять кавычки, тире, спецсимволы: …, ©, ®, ™, ₽, ±, ÷</li>
4848
<li>Ставить простые дроби: ½, ⅓, ¼, ⅕, ⅙, ⅐, ⅛, ⅑, ⅒, ⅔, ⅖, ¾, ⅗, ⅜, ⅘, ⅚, ⅝, ⅞</li>
4949
<li>Ставить минус между числами и &times; между размерными единицами</li>
5050
<li>Привязывать неразрывным пробелом союзы и предлоги к последующим словам, а частицы к предыдущим</li>

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
2-
"name": "FlyTypograf.js",
3-
"version": "1.2.1",
2+
"name": "fly-typograf.js",
3+
"version": "1.2.2",
44
"license": "MIT",
5-
"description": "Афтотипографика текста в полях <input> и <textarea> на лету",
5+
"description": "Correct punctuation, non-breaking spaces and special characters in <input> and <textarea> on fly",
66
"main": "source/FlyTypograf.js",
77
"author": {
88
"name": "Evgeniy Lepeshkin",

src/FlyTypograf.js

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
Released under the MIT license.
1010
http://www.opensource.org/licenses/mit-license.php
1111
12-
Version: v 1.2.1
12+
Version: v 1.2.2
1313
Date: Dec 26, 2021
1414
*/
1515

@@ -99,8 +99,8 @@ export class FlyTypograf {
9999
#process = [
100100
{
101101
// Minus sign
102-
pattern: /(?<= |^|\d)[-](\d)/g,
103-
replace: `−$1`
102+
pattern: /(?<= |^|\d)-(?=\d)/g,
103+
replace: `−`
104104
},
105105
{
106106
// Double hyphen
@@ -112,12 +112,20 @@ export class FlyTypograf {
112112
},
113113
{
114114
// Plus/Minus +/-
115-
pattern: /\+\/\-/g,
115+
pattern: /\+\/-/g,
116116
replace: () => {
117117
this.#caretPosition -= 2
118118
return `±`
119119
}
120120
},
121+
{
122+
// Division
123+
pattern: /(?<=(?:\d|[a-z])\s*)-:-/gi,
124+
replace: () => {
125+
this.#caretPosition -= 2
126+
return `÷`
127+
}
128+
},
121129
{
122130
// Dash sign
123131
pattern: /(?<= |^|>|[^-!а-яёa-z0-9])-(?= |$|[^-])/gmi,

src/example.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ textarea.addEventListener(`keyup`, () => {
2929
.replace(/\n{2,}/g, "</p><p>")
3030
.replace(/\n/g, "<br />")
3131
.replace(/\u00a0/g, `<span class="hlg">&nbsp\;</span>`)
32-
.replace(/([©®×«»½¼¾±¹²³°]+)/gi, `<span class="hlb">$1</span>`)
32+
.replace(/([©®×«»½¼¾±÷¹²³°]+)/gi, `<span class="hlb">$1</span>`)
3333
.replaceAll('<*>', () => {
3434
const str = tags[0]
3535
tags.splice(0, 1)

0 commit comments

Comments
 (0)