reedach-server 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/NOTICE.md CHANGED
@@ -3,10 +3,11 @@
3
3
  ## Словарь правил
4
4
 
5
5
  Правила и формулировки подсказок в `packages/core/src/rules.js` написаны для проекта
6
- самостоятельно. Идеи взяты из открытых статей об информационном стиле: Максим Ильяхов,
7
- Бюро Горбунова и другие авторы. Тексты статей в проект не копировались.
6
+ самостоятельно. Идеи взяты из открытых статей об информационном стиле:
7
+ [Максим Ильяхов](https://maximilyahov.ru), [Бюро Горбунова](https://bureau.ru) и другие авторы.
8
+ Тексты статей в проект не копировались.
8
9
 
9
- Проект не связан с сервисом «Главред» и его авторами и не заменяет профессиональную редактуру.
10
+ Проверка не заменяет профессиональную редактуру.
10
11
 
11
12
  ## Сторонние данные и программы
12
13
 
@@ -17,10 +18,16 @@
17
18
  | Компонент | Лицензия | Источник |
18
19
  |---|---|---|
19
20
  | Az.js — морфологический анализ | MIT | https://github.com/deNULL/Az.js |
20
- | Словари Az.js — данные OpenCorpora, сборка pymorphy2 | CC BY-SA | http://opencorpora.org |
21
+ | Словари Az.js — данные OpenCorpora, сборка pymorphy2 | CC BY-SA | https://opencorpora.org |
21
22
  | dictionary-ru — словарь hunspell, © 1997–2008 Alexander I. Lebedev | BSD-3-Clause | https://github.com/wooorm/dictionaries |
22
23
  | dictionary-en — словарь hunspell на основе SCOWL | MIT AND BSD | https://github.com/wooorm/dictionaries |
23
- | hunspell — проверка орфографии, запускается как отдельная программа | GPL-2.0 / LGPL-2.1 / MPL-1.1 на выбор | https://hunspell.github.io |
24
+ | hunspell — проверка орфографии, запускается как отдельная программа | GPL-2.0 / LGPL-2.1 / MPL-1.1 на выбор | https://github.com/hunspell/hunspell |
25
+
26
+ Hunspell не входит в код Reedach и не распространяется вместе с ним: сервер запускает
27
+ установленную в системе программу `hunspell` отдельным процессом и передаёт ей слова. В
28
+ Docker-образ она попадает из пакета Alpine `hunspell` со своей лицензией. Словари hunspell
29
+ ставятся из npm вместе с `reedach-server` (пакеты `dictionary-ru` и `dictionary-en`) и
30
+ используются без изменений.
24
31
 
25
32
  Словари OpenCorpora используются без изменений. Изменённые словари, если появятся,
26
33
  будут распространяться под той же лицензией CC BY-SA с указанием источника.
package/README.md CHANGED
@@ -23,7 +23,7 @@ import {check} from 'reedach-server';
23
23
 
24
24
  const {issues} = await check({
25
25
  markdown: 'В настоящее время мы осуществляем доставку.',
26
- ignore: ['Glaskraft'], // слова автора: формы тоже принимаются
26
+ ignore: ['Reedach'], // слова автора: формы тоже принимаются
27
27
  disable: ['intensifiers'], // выключить правило по id или целую категорию
28
28
  });
29
29
  ```
@@ -41,6 +41,11 @@ docker run -d -p 3000:3000 -e REEDACH_KEYS="длинный-ключ-сайта=h
41
41
 
42
42
  ### Ключи
43
43
 
44
+ Ключ — это пароль от вашего сервера Reedach. Его никто не выдаёт, регистрироваться нигде не
45
+ нужно: вы придумываете ключ сами (любой случайный набор от 16 символов, например
46
+ `openssl rand -hex 24`), передаёте серверу при запуске и сообщаете своему сайту. Без правильного
47
+ ключа сервер текст не проверяет.
48
+
44
49
  `REEDACH_KEYS` — список ключей через `;`. Каждый ключ не короче 16 символов. После `=`
45
50
  через запятую перечисляются сайты, со страниц которых этот ключ можно использовать
46
51
  прямо из браузера.
@@ -112,8 +117,25 @@ docker run -d -p 3000:3000 -e REEDACH_KEYS="длинный-ключ-сайта=h
112
117
 
113
118
  ## Как устроена орфография
114
119
 
120
+ Опечатки ищет [hunspell](https://github.com/hunspell/hunspell) — открытая программа проверки
121
+ орфографии. Reedach запускает её отдельной программой на вашем сервере.
122
+
123
+ Словари: русский — `dictionary-ru` на основе словаря Александра Лебедева, английский —
124
+ `dictionary-en` на основе SCOWL. Оба подключены сразу, поэтому английские слова в русском тексте
125
+ не считаются ошибками. Русскому словарю много лет: новых слов и заимствований в нём может не
126
+ быть, для них есть слова автора.
127
+
128
+ Проверяются слова из букв, в том числе через дефис. Пропускаются ссылки, адреса почты,
129
+ аббревиатуры заглавными буквами, слова с цифрами, однобуквенные слова и английские
130
+ сокращения вроде isn't.
131
+
132
+ Слова автора (`ignore`) принимаются и в других формах: если у слова та же основа и после неё
133
+ не больше пяти букв. У глаголов основа считается без -ть и -ться. Правило работает для слов
134
+ от пяти букв, более короткие должны совпасть точно.
135
+
115
136
  Ошибки ищет короткий запуск `hunspell -l` на каждый запрос: это быстро, тысячи слов за
116
- доли секунды. Варианты подбирает один постоянно запущенный `hunspell -a`:
137
+ доли секунды. Варианты подбирает один постоянно запущенный `hunspell -a`, до пяти на слово,
138
+ готовые ответы запоминаются для 5000 слов:
117
139
 
118
140
  - в него уходят только слова из букв, каждое отдельной строкой со служебным знаком в
119
141
  начале, поэтому никакой текст не станет командой hunspell;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "reedach-server",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Сервер Reedach: орфография (hunspell), морфология (Az.js + OpenCorpora) и подсказки по стилю для русского текста — библиотекой или по HTTP",
5
5
  "license": "MIT",
6
6
  "author": "Dima Faller <dima@dimafaller.ru>",
@@ -41,10 +41,10 @@
41
41
  "az": "0.2.3",
42
42
  "dictionary-en": "4.0.0",
43
43
  "dictionary-ru": "3.0.0",
44
- "reedach": "0.1.0"
44
+ "reedach": "0.1.2"
45
45
  },
46
46
  "peerDependencies": {
47
- "reedach-widget": "^0.1.0"
47
+ "reedach-widget": "^0.1.2"
48
48
  },
49
49
  "peerDependenciesMeta": {
50
50
  "reedach-widget": {
package/src/cli.mjs CHANGED
File without changes