diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..3c2f0f3
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,22 @@
+node_modules
+.vitepress/cache
+.vitepress/dist
+.vitepress/.temp
+
+### Obsidian ###
+.obsidian/
+
+### Sublime Text ###
+*.sublime-workspace
+*.sublime-project
+GitHub.sublime-settings
+
+### Visual Studio Code ###
+.vscode/
+.history/
+
+### JetBrains ###
+.idea/
+
+### .env ###
+docs/.env
diff --git a/docs/reference/index.md b/docs/reference/index.md
new file mode 100644
index 0000000..027e4bd
--- /dev/null
+++ b/docs/reference/index.md
@@ -0,0 +1,3 @@
+# Для авторов
+
+В данном разделе расположены различные правила и советы для авторов. Здесь вы найдёте полезную информацию о том, как создавать и редактировать статьи на вики. Ознакомьтесь с этими правилами и советами, чтобы улучшить свои навыки авторства на NEWERA STATION WIKI.
diff --git a/docs/reference/pages/alteration.md b/docs/reference/pages/alteration.md
new file mode 100644
index 0000000..54420ae
--- /dev/null
+++ b/docs/reference/pages/alteration.md
@@ -0,0 +1,126 @@
+# Внесение изменений
+
+:::info
+Для внесения изменений необходимо иметь профиль на GitHub.
+:::
+
+## 1. Создаём fork репозитория
+
+### 1.1. Заходим на [GitHub проекта](https://github.com/OlegShchavelev/ALTRegularGnomeWiki):
+
+![github_main](/alteration/github_main.png)
+
+### 1.2. Переходим на вкладку Fork и нажимаем [[Create fork]]:
+
+![github_fork_create](/alteration/github_fork_create.png)
+
+:::info
+После небольшого ожидания репозиторий появится в вашем профиле GitHub.
+:::
+
+## 1.3. Клонируем созданный fork на локальный компьютер:
+
+::: code-group
+
+```shell[https]
+git clone https://github.com/USER/ALTRegularGnomeWiki.git
+```
+
+```shell[ssh]
+git clone git@github.com:USER/ALTRegularGnomeWiki.git
+```
+
+:::
+
+`USER` — имя вашего пользователя GitHub.
+
+## 2. Добавляем необходимую информацию и создаём commit.
+
+Перед внесением изменений ознакомьтесь с [правилами](./general-rules.md) и [возможностями VitePress](./vitepress.md).
+
+После того как добавили всё необходимое, выполните следующие команды:
+
+### 2.1. Добавляем изменения в индекс git:
+
+::: tabs
+== Терминал
+
+```shell
+git add *
+```
+
+== VSCodium
+Нажимаем [[+]] около имени файла
+
+![indexing_via_vscodium](/alteration/indexing_via_vscodium.png)
+:::
+
+### 2.2. Создаём commit:
+
+::: tabs
+== Терминал
+
+```shell
+git commit -m "commit message"
+```
+
+Замените `commit message` на описание ваших изменений.
+== VSCodium
+Добавляем описание и нажимаем [[Фиксация]]
+
+![indexing_via_vscodium](/alteration/indexing_via_vscodium.png)
+:::
+
+:::info
+Описание необходимо писать на русском языке.
+
+Также мы рекомендуем следующие приставки:
+
+Добавлено: \
+Обновлено: \
+Удалено:
+
+_Например_
+
+```
+Обновлено: Для авторов | Страница приложения
+```
+
+:::
+
+### 2.3. Отправляем изменения на GitHub:
+
+::: tabs
+== Терминал
+
+```shell
+git push
+```
+
+== VSCodium
+Нажимаем [[Синхронизировать изменения]]
+
+![indexing_via_vscodium](/alteration/sync_changes_via_vscodium.png)
+:::
+
+## 3. Создаём pull request
+
+### 3.1. Возвращаемся в ваш fork на GitHub:
+
+![github_fork](/alteration/github_fork.png)
+
+### 3.2. Выбираем `Contribute` и нажимаем [[Open pull request]]:
+
+смотрим что нет никаких проблем и нажимаем [[Create pull request]]
+
+![pr_no_error](/alteration/pr_no_error.png)
+
+### 3.3. Заполняем и нажимаем [[Create pull request]]:
+
+::: warning
+Пожалуйста, прикрепите к своему первому PR ваш ник в Telegram! Это необходимо для связи и добавления в рабочие чаты.
+:::
+
+![pr_create](/alteration/pr_create.png)
+
+После этого остаётся только подождать пока одобрят ваш PR.
diff --git a/docs/reference/pages/general-rules.md b/docs/reference/pages/general-rules.md
new file mode 100644
index 0000000..09519e7
--- /dev/null
+++ b/docs/reference/pages/general-rules.md
@@ -0,0 +1,27 @@
+# Общие правила
+
+Данные правила распространяются на все страницы Wiki.
+
+## Создание страницы
+
+- Все страницы создаются в Markdown файлах.
+- Файл необходимо поместить в нужную вам категорию внутри папки `docs`.
+- Названия файлов прописываются в нижнем регистре.
+- Если название файлов состоит из нескольких слов, разделите их дефисом, например: 'gnome-software.md'.
+- Для добавления страницы в меню, пропишите её в файле `/_data/navigations.ts`.
+
+## Темы
+
+- Не описывайте темы противоречившие законодательству Российской Федерации:
+
+ - Любые способы анонимизации пользователей и сетей для использования заблокированных сервисов.
+ - Запрещённое программное обеспечение и сервисы.
+ - Пиратство.
+
+- При использовании информации с внешних ресурсов необходимо указать источник в конце статьи.
+
+## Наполнение
+
+- Используйте скриншоты только со стандартными темами окружения GNOME.
+- Описывайте лишь проверенные темы и приложения.
+- Не используйте опасные для пользователя и/или системы команды.
diff --git a/docs/reference/pages/markdown-how-to.md b/docs/reference/pages/markdown-how-to.md
new file mode 100644
index 0000000..6555d8f
--- /dev/null
+++ b/docs/reference/pages/markdown-how-to.md
@@ -0,0 +1,426 @@
+# Руководство по оформлению Markdown файлов
+
+Markdown - это облегчённый язык разметки, который преобразует текст в структурированный HTML. Следующее руководство поможет вам разобраться, как использовать Markdown.
+
+## Заголовки
+
+```
+# Заголовок первого уровня
+## Заголовок второго уровня
+### Заголовок третьего уровня
+#### Заголовок четвёртого уровня
+##### Заголовок пятого уровня
+###### Заголовок шестого уровня
+```
+
+**_Пример:_**
+
+# Заголовок первого уровня
+
+## Заголовок второго уровня
+
+### Заголовок третьего уровня
+
+#### Заголовок четвёртого уровня
+
+##### Заголовок пятого уровня
+
+###### Заголовок шестого уровня
+
+---
+
+## Параграфы и переносы строк
+
+```
+Это параграф. Чтобы создать новый параграф, оставьте пустую строку между двумя строками текста.
+
+Это первая строка
+И это вторая строка, но они находятся в одном параграфе. Для переноса строки используйте два пробела в конце предыдущей строки.
+```
+
+**_Пример:_**
+
+Это параграф. Чтобы создать новый параграф, оставьте пустую строку между двумя строками текста.
+
+Это первая строка
+И это вторая строка, но они находятся в одном параграфе. Для переноса строки используйте два пробела в конце предыдущей строки.
+
+---
+
+## Выделение текста
+
+```
+*курсив*
+_курсив_
+
+**жирный**
+__жирный__
+
+***жирный курсив***
+___жирный курсив___
+
+~~зачёркнутый~~
+```
+
+**_Пример:_**
+
+_курсив_
+_курсив_
+
+**жирный**
+**жирный**
+
+**_жирный курсив_**
+**_жирный курсив_**
+
+~~зачёркнутый~~
+
+---
+
+## Списки
+
+### Нумерованный список
+
+```
+1. Пункт первый
+2. Пункт второй
+3. Пункт третий
+```
+
+**_Пример:_**
+
+1. Пункт первый
+2. Пункт второй
+3. Пункт третий
+
+---
+
+### Маркированный список
+
+```
+- Пункт первый
+- Пункт второй
+- Пункт третий
+```
+
+**_Пример:_**
+
+- Пункт первый
+- Пункт второй
+- Пункт третий
+
+---
+
+### Вложенные списки
+
+Также можно делать вложенные списки, добавляя 4 пробела перед пунктом:
+
+```
+1. Пункт первый
+ - Подпункт первый
+ - Подпункт второй
+2. Пункт второй
+```
+
+**_Пример:_**
+
+1. Пункт первый
+ - Подпункт первый
+ - Подпункт второй
+2. Пункт второй
+
+---
+
+## Ссылки
+
+```
+[Текст ссылки](https://www.example.com)
+```
+
+**_Пример:_**
+
+[Текст ссылки](https://www.example.com)
+
+---
+
+## Изображения
+
+```
+![Текст описания](https://www.example.com/image.jpg)
+```
+
+**_Пример:_**
+
+![Текст описания](https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,h_720,q_75,w_1400/v1/clients/newyorkcity/Coronavirus_Info_midtown_manhattan_skyline_nyc_3000x2000_364fa9b8-86ce-4f95-907a-4bd8ea32f232.jpg)
+
+---
+
+## Блоки кода
+
+### Строка кода
+
+```
+`строка кода`
+```
+
+**_Пример:_**
+
+`строка кода`
+
+---
+
+### Блок кода
+
+Удалите символы `\`
+
+````
+\```
+Блок кода
+\```
+````
+
+**_Пример:_**
+
+```
+Блок кода
+```
+
+---
+
+### Подсветка кода
+
+Для блоков кода можно указывать язык программирования.
+
+Используется подсветка синтаксиса из библиотеки `linguist`, которая включает множество различных языков.
+
+Удалите символы `\`
+
+````
+\```python
+print("Привет, мир!")
+\```
+````
+
+**_Пример:_**
+
+```python
+print("Привет, мир!")
+```
+
+---
+
+## Цитаты
+
+```
+> Первый уровень цитирования
+>> Второй уровень цитирования
+>>> Третий уровень цитирования
+```
+
+**_Пример:_**
+
+> Первый уровень цитирования
+>
+> > Второй уровень цитирования
+> >
+> > > Третий уровень цитирования
+
+---
+
+## Горизонтальная линия
+
+```
+---
+```
+
+**_Пример:_**
+
+---
+
+---
+
+## Таблицы
+
+```
+| Заголовок 1 | Заголовок 2 |
+| ----------- | ----------- |
+| Ячейка 1 | Ячейка 2 |
+| Ячейка 3 | Ячейка 4 |
+```
+
+**_Пример:_**
+
+| Заголовок 1 | Заголовок 2 |
+| ----------- | ----------- |
+| Ячейка 1 | Ячейка 2 |
+| Ячейка 3 | Ячейка 4 |
+
+---
+
+### Таблица как HTML
+
+```
+
+
+ Заголовок 1 |
+ Заголовок 2 |
+
+
+ Ячейка 1.1 |
+ Ячейка 2.1 |
+
+
+ Ячейка 1.2 |
+ Ячейка 2.2 |
+
+
+```
+
+**_Пример:_**
+
+
+
+ Заголовок 1 |
+ Заголовок 2 |
+
+
+ Ячейка 1.1 |
+ Ячейка 2.1 |
+
+
+ Ячейка 1.2 |
+ Ячейка 2.2 |
+
+
+
+---
+
+## Чек-листы
+
+```
+- [x] Задача 1
+- [ ] Задача 2
+- [ ] Задача 3
+```
+
+**_Пример:_**
+
+- [x] Задача 1
+- [ ] Задача 2
+- [ ] Задача 3
+
+---
+
+## Внутренние ссылки
+
+```
+[Перейти к Заголовку 1](#title1)
+
+## Заголовок 1
+Какой-то контент
+```
+
+**_Пример:_**
+
+[Перейти к Заголовку 1](#title1)
+
+## Заголовок 1
+
+Какой-то контент
+
+---
+
+### Ссылка на заголовок на английском
+
+```
+[Some title 1](#some-title-1)
+
+## Some Title 1
+Some content
+```
+
+**_Пример:_**
+
+[Some title 1](#some-title-1)
+
+## Some Title 1
+
+Some content
+
+---
+
+## Автоматические ссылки
+
+```
+
+
+
+```
+
+**_Пример_**
+
+
+
+
+
+---
+
+## HTML
+
+Markdown поддерживает использование прямого HTML внутри документа, так что вы можете использовать любые HTML-теги для более сложного оформления:
+
+```
+CTRL + P
+```
+
+**_Пример:_**
+
+[[CTRL]] + [[P]]
+
+---
+
+## HTML-коды
+
+Например, вы можете использовать HTML-код `¯` для добавления черты над буквой:
+
+```
+A¯
+```
+
+**_Пример:_**
+
+A¯
+
+---
+
+## Комментарии
+
+Вы можете вставить комментарии в свой markdown-файл, которые не будут отображаться в окончательном отформатированном виде:
+
+```
+[//]: # (Это комментарий, он не будет отображаться)
+```
+
+**_Пример:_**
+
+[//]: # 'Это комментарий, он не будет отображаться'
+
+---
+
+## Эмодзи (Github)
+
+Вы можете использовать эмодзи в своих Markdown-файлах. [Существует множество эмодзи](https://gist.github.com/rxaviers/7360908), которые вы можете использовать, вот некоторые из них:
+
+```
+:smile:
+:laughing:
+:blush:
+```
+
+**_Пример:_**
+
+:smile:
+:laughing:
+:blush:
+
+---
diff --git a/docs/reference/pages/vitepress.md b/docs/reference/pages/vitepress.md
new file mode 100644
index 0000000..cf521dc
--- /dev/null
+++ b/docs/reference/pages/vitepress.md
@@ -0,0 +1,323 @@
+---
+lastUpdated: false
+ExampleVar: Hello World!
+---
+
+# Возможности VitePress
+
+::: info
+VitePress использует [markdown-it](https://github.com/markdown-it/markdown-it) в качестве парсера который расширяет возможности markdown.
+Мы можем добавить существенно больше красоты и удобства.
+:::
+
+Полный, актуальный текст всех возможностей всегда можно посмотреть на .
+
+Рассмотрим подробнее каждую из них.
+
+## Заголовки-ссылки
+
+Заголовки автоматически становятся ссылками-якорями вида `guide/vitepress#zagolovkissylki` .
+Текст заголовка автоматически транслитерируется и обрезается до 25-ти символов (без обрезки слов).
+
+### Произвольный анкор {#my-anchor}
+
+Но вы можете назначить произвольный анкор любому из заголовков, используя конструкцию `{#my-anchor}`.
+
+```markdown
+## Обычный заголовок
+
+### Произвольный анкор {#my-anchor}
+```
+
+## Ссылки
+
+**Пример:**
+
+```markdown
+[ссылка на внутреннюю страницу](/flatpak)
+
+[ссылка на внешнюю страницу](https://alt-gnome.wiki)
+```
+
+**Вывод:**
+
+[ссылка на внутреннюю страницу](/flatpak)
+
+[ссылка на внешнюю страницу](https://alt-gnome.wiki)
+
+## Frontmatter
+
+[YAML frontmatter](https://jekyllrb.com/docs/front-matter/) доступен из коробки.
+
+```yaml
+---
+title: YAML frontmatter
+platform: VitePress
+---
+```
+
+Эти переменные доступны в остальной часть страницы.
+
+## Таблицы
+
+Генерируйте таблицы в стиле GitHub.
+
+**Пример:**
+
+```markdown
+| Tables | Are | Cool |
+| ------------- | :-----------: | ----: |
+| col 3 is | right-aligned | $1600 |
+| col 2 is | centered | $12 |
+| zebra stripes | are neat | $1 |
+```
+
+**Вывод:**
+
+| Tables | Are | Cool |
+| ------------- | :-----------: | ----: |
+| col 3 is | right-aligned | $1600 |
+| col 2 is | centered | $12 |
+| zebra stripes | are neat | $1 |
+
+## Эмоджи
+
+**Пример:**
+
+```markdown
+:tada: :100:
+```
+
+**Вывод:**
+
+:tada: :100:
+
+[Список всех доступных эмоджи здесь](https://github.com/markdown-it/markdown-it-emoji/blob/master/lib/data/full.mjs).
+
+## Вывод оглавления в любом месте
+
+Генерируется на основе заголовков.
+
+**Пример:**
+
+```markdown
+[[toc]]
+```
+
+**Вывод:**
+
+[[toc]]
+
+## Медиа-контент
+
+**Пример:**
+
+```markdown
+![логотип](/logo.png)
+```
+
+**Вывод:**
+
+![логотип](/logo.png)
+
+## Блоки кода
+
+**Пример:**
+
+````markdown
+```js
+console.log('Hello World!')
+```
+````
+
+**Вывод:**
+
+```js
+console.log('Hello World!')
+```
+
+## Блоки кода c парсингом Vue JS
+
+**Пример:**
+
+````markdown
+```js-vue
+console.log('{{ $frontmatter.ExampleVar }}');
+```
+````
+
+**Вывод:**
+
+```js-vue
+console.log('{{ $frontmatter.ExampleVar }}');
+```
+
+## Блоки кода с табами
+
+**Пример:**
+
+````markdown
+::: code-group
+
+```python[python]
+print("Hello World!")
+```
+
+```rust[rust]
+fn main() {
+ println!("Hello World!");
+}
+```
+
+:::
+````
+
+**Вывод:**
+
+::: code-group
+
+```python[python]
+print("Hello World!")
+```
+
+```rust[rust]
+fn main() {
+ println!("Hello World!");
+}
+```
+
+:::
+
+## Контент с табами
+
+**Пример:**
+
+````markdown
+::: tabs
+== python
+Код `Hello World!` на Python.
+
+```python
+print("Hello World!")
+```
+
+== rust
+Код `Hello World!` на Rust.
+
+```rust
+fn main() {
+ println!("Hello World!");
+}
+```
+
+:::
+````
+
+**Вывод:**
+
+::: tabs
+== python
+Код `Hello World!` на Python.
+
+```python
+print("Hello World!")
+```
+
+== rust
+Код `Hello World!` на Rust.
+
+```rust
+fn main() {
+ println!("Hello World!");
+}
+```
+
+:::
+
+## Красивые уведомления
+
+**Пример:**
+
+```markdown
+::: info
+Это информационный блок.
+:::
+
+::: tip
+Это совет.
+:::
+
+::: warning
+это предупреждение об ошибке.
+:::
+
+::: danger
+Это предупреждение об опасности
+:::
+
+::: details
+Это блок сведений.
+:::
+```
+
+**Вывод:**
+
+::: info
+Это информационный блок.
+:::
+
+::: tip
+Это совет.
+:::
+
+::: warning
+это предупреждение об ошибке.
+:::
+
+::: danger
+Это предупреждение об опасности.
+:::
+
+::: details
+Это блок сведений.
+:::
+
+## Уведомления с произвольными заголовками
+
+**Пример:**
+
+````markdown
+::: info Произвольный заголовок
+Это информационный блок с произвольным заголовков.
+:::
+
+::: danger Опасно
+Это предупреждение об опасности.
+:::
+
+::: details Нажмите для отображения кода
+
+```js
+console.log('Привет, VitePress!')
+```
+
+:::
+````
+
+**Вывод:**
+
+::: info Произвольный заголовок
+Это информационный блок с произвольным заголовков.
+:::
+
+::: danger Опасно
+Это предупреждение об опасности.
+:::
+
+::: details Нажмите для отображения кода
+
+```js
+console.log('Привет, VitePress!')
+```
+
+:::
diff --git a/docs/reference/structure/app.md b/docs/reference/structure/app.md
new file mode 100644
index 0000000..11b34f8
--- /dev/null
+++ b/docs/reference/structure/app.md
@@ -0,0 +1,140 @@
+# Страница приложения
+
+Страница приложения состоит из нескольких блоков
+
+## 1. Переменные
+
+Используются такие блоки метаданных [Frontmatter](/reference/pages/vitepress#frontmatter):
+
+```markdown
+---
+aggregation:
+ sisyphus: # название в репозитории
+ flatpak:
+ id: # flatpak id
+ build: # сборка official/unofficial
+ snap:
+ id: # название на snapcraft
+ build: # сборка official/unofficial
+ epm:
+ play:
+ id: # название в epm play
+ build: # сборка official/unofficial
+appstream:
+ id: # appstream id приложения
+ name: # Название приложения
+ icon: # путь к логотипу приложения
+ summary: # краткое описание
+ metadata_license:
+ name: # лицензия
+ link: # ссылка на лицензию
+ keywords: # список бейджей (подробнее ниже)
+ developer:
+ name: # имя разработчика
+ nickname: # nickname разработчика
+ avatar: # ссылка или путь на аватар разработчика
+ url:
+ homepage: # ссылка на страницу проекта
+ bugtracker: # ссылка на багтрекер (например, github issue)
+ translate: # ссылка на помощь с переводом
+ help: # ссылка на гайд по использованию
+ donation: # ссылка на донаты
+gallery:
+ title: # заголовок галереи (рекомендуется, просто "Галерея")
+ type: # тип галереи slider/carousel (рекомендуется slider)
+ items: # список фотографий (подробнее ниже)
+---
+```
+
+### Список бейджей
+
+Можно добавить такие бейджи
+
+```markdown
+---
+keywords:
+ - core # GNOME Core
+ - circle # GNOME Circle
+ - dev # GNOME Development
+ - oobe # Предустановлено
+ - adaptive # Адаптивное
+ - proprietary # Проприетарное
+ - restrictions # Региональные ограничения
+ - dontthemes # Please don’t theme
+---
+```
+
+### Список фотографий
+
+Фотографии для галереи хранятся по пути `/docs/public/APP_NAME/`
+
+**Пример для amberol**
+
+```markdown
+---
+gallery:
+ title: Галерея
+ type: slider
+ items:
+ - src: /amberol/amberol-1.png
+ - src: /amberol/amberol-2.png
+ - src: /amberol/amberol-3.png
+---
+```
+
+## 2. Название и описание
+
+Замените `NAME` на название приложения и допишите описание.
+
+```markdown
+# NAME
+
+NAME — ...
+```
+
+## 3. Галерея
+
+Для отображения галереи в нужном месте, необходимо вызвать виджет.
+
+```markdown-vue
+Amberol воспроизводит музыку, и ничего больше.
+
+
+
+
+```
+
+## 4. Установка
+
+Блоки установки построятся автоматически, необходимо лишь заполнить Frontmatter переменные и подключить шаблоны.
+
+::: tabs
+== Репозиторий
+
+```markdown-vue
+
+```
+
+== Flatpak
+
+```markdown-vue
+
+```
+
+== Snap
+
+```markdown-vue
+
+```
+
+== EPM Play
+
+```markdown-vue
+
+```
+
+:::
+
+## Дополнительные блоки
+
+При необходимости вы можете добавить дополнительные блоки, например, 'Решение проблем'
diff --git a/docs/reference/structure/wiki_page.md b/docs/reference/structure/wiki_page.md
new file mode 100644
index 0000000..4c8bb8f
--- /dev/null
+++ b/docs/reference/structure/wiki_page.md
@@ -0,0 +1,66 @@
+# Страница Wiki
+
+На [данной](../../main/wiki) странице используются такие подблоки [Frontmatter](../pages/vitepress#frontmatter) переменных:
+
+## 1. Раздел
+
+Внутри данного блока располагаются подблоки категорий.
+
+```yaml
+aside: false
+docs:
+ categories:
+ title: Быстрый старт
+ items: # Подблоки категорий
+```
+
+## 2. Категория
+
+Данный подблок описывает категорию, внутри него располагаются подблоки приложений.
+
+```yaml
+- title: # Название категории
+ icon: # Иконка категории
+ dark: # Тёмная тема
+ light: # Светлая тема
+ apps: # Подблоки приложений
+```
+
+## 3. Приложение
+
+Данный подблок описывает приложение.
+
+```yaml
+- name: # Название приложения
+ link: # Путь до страницы приложения
+```
+
+## пример
+
+```markdown
+---
+aside: false
+docs:
+ categories:
+ title: Быстрый старт
+ items:
+ - title: Браузеры
+ icon:
+ dark: /global-light.svg
+ light: /global-dark.svg
+ apps:
+ - name: Яндекс Браузер
+ link: yandex-browser
+ - name: Firefox
+ link: firefox
+ - title: Месенджеры
+ icon:
+ dark: /message-light.svg
+ light: /message-dark.svg
+ apps:
+ - name: Telegram Desktop
+ link: telegram
+ - name: VK Мессенджер
+ link: vk-messenger
+---
+```
diff --git a/docs/reference/tests/speller.md b/docs/reference/tests/speller.md
new file mode 100644
index 0000000..a3544ef
--- /dev/null
+++ b/docs/reference/tests/speller.md
@@ -0,0 +1,100 @@
+# Поиск и исправление ошибок текста
+
+При работе с проектом теперь есть возможность проверить наличие ошибок в полуавтоматическом режиме.
+
+## Поиск ошибок в личной статье
+
+Если вы хотите проверить статью вашу статью на наличие ошибок выполните эти действия:
+
+1. Скопируйте локальный путь до файла статьи
+
+![path-copy](/reference/test/speller/path-copy.png)
+
+2. Выполните команду:
+
+```shell
+npm run docs:speller {Путь из шага 1}
+```
+
+И после этого перед вашими глазами будут все ошибки в вашей статье, а также возможные варианты исправления.
+
+![speller-result](/reference/test/speller/speller-result.png)
+
+## Глобальный поиск для редакторов
+
+Для вас существует отдельная команда, которая проверяет все файлы проекта
+
+```shell
+npm run docs:speller-full
+```
+
+После проверки, в случае использования VSCode, вы можете быстро переходить к файлам нажимая по их названиям используя [[Ctrl]] + [[🖱️ Left Click]]
+
+## Исправление ошибок
+
+Посмотрим на вывод команды:
+
+![speller-result](/reference/test/speller/speller-result.png)
+
+```text
+2. наличее (3:57, count 2, suggest: наличие)
+ | | | | |______________ Возможный вариант исправления
+ | | | |_________________________ Количество повторений ошибки
+ | | |______________________________ Номер символа начала слова в строке
+ | |_________________________________ Номер строки в котором допущена ошибка
+ |_______________________________________ Слово в котором допущена ошибка
+```
+
+Для начала все просто - исправляйте все орфографические ошибки и опечатки, которые найдёт команда.
+
+Но в процессе изменений могут возникнуть проблемы. И для этого есть возможность внести свои изменения в словарь.
+
+## Дополнение словаря
+
+Для дополнения словаря нужно открыть файл `.yaspellerrc` и добавить слово с новой строки в разделе `"dictionary"`
+
+::: warning В каком случае стоит добавлять слово в словарь?
+
+- Название ПО или любых других имён, в правильности написания которого вы полностью уверены
+
+ `(Например: Flatseal, ALT Gnome)`
+
+- Технический термин или локализированное заимствование
+
+ `(Например: WiFi, тикет, форк, коммит)`
+
+- Нетипичные использования слов, при цитировании элементов интерфейса, которые не может распознать программа
+
+ `(Например: Книжная правая ориентация экрана)`
+
+Все остальные случаи, в том числе ситуации, когда слово написано абсолютно верно, но все равно вызывает ошибку, предлагая исправить на само себя - попытайтесь поиграться со структурой предложения. Если это не помогает - проигнорируйте эту ошибку, и сообщите о ней [[[данному автору]]](https://t.me/amper_unlisted).
+
+Добавление необдуманных записей в словарь может очень сильно испортить работу в будущем. Если есть сомнения - обратитесь с вопросом в наш чат.
+:::
+
+Варианты дополнения словаря:
+
+- Явное указание слова
+
+ ```
+ "dictionary": [
+ ... ,
+ "коммит" // Плагин будет понимать слово "Коммит" и "коммит")
+ ]
+ ```
+
+- Формы слова
+ ```
+ "dictionary": [
+ ... ,
+ "коммит(а|ов)" // Плагин будет понимать слова "Коммит", "коммита" и "коммитов")
+ // Можно использовать в любом месте слова
+ ]
+ ```
+- Исключение определённых блоков (Используя RegExp)
+ ```
+ "ignoreText":
+ [
+ ["---.*?---", "gsm"] // Игнорирует все что находится в блоке Frontmatter
+ ],
+ ```