feat: color themes, dark mode, HC/sepia themes, moon tooltip, docs update
This commit is contained in:
1 parent
857adce5da
commit
f45791579b
16 files changed
+389
-240
No files matched your search
+13
-23
@@ -8,11 +8,14 @@
|
||||
|
||||
## Возможности
|
||||
|
||||
- **Calendar** — Просмотр сеток месяцев с литургическими днями, периодами поста, чинами и празднованиями. Поддерживает юлианский календарь с григорианскими эквивалентами.
|
||||
- **Календарь** — Просмотр сеток месяцев с литургическими днями, периодами поста, чинами и празднованиями. Поддерживает юлианский календарь с григорианскими эквивалентами.
|
||||
- **Service Reader** — Сборка богослужебных текстов (часов, кафизм) из структурированных шаблонов с условной логикой.
|
||||
- **Bible Reader** — Чтение Писания на 13 языках (церковнославянский, русский синодальный, KJV, Брентон, Вульгата и др.). Позиция чтения для каждой версии сохраняется между сессиями.
|
||||
- **Жития святых** — 1203/3046 житий обогащены текстами из Четьи-Миней и Настольной книги Булгакова.
|
||||
- **Многоязычный интерфейс** — Английский, русский, церковнославянский (со специальными шрифтами для церковнославянского).
|
||||
- **PWA** — Устанавливается на настольные и мобильные устройства.
|
||||
- **Цветовые схемы** — Переключение между Стандартной, Тёмной, Сепия и Высокой контрастностью в настройках.
|
||||
- **PWA + Офлайн** — Устанавливается на устройства. Предзагрузка данных (жития, календарь, переводы Библии) для офлайн-доступа через IndexedDB.
|
||||
- **Астрономия** — Время восхода/заката и церковная фаза луны (день, тренд, освещённость) в панели дня календаря. Местоположение настраивается.
|
||||
- **Навигация** — 3 элемента верхнего уровня (Calendar, Library, Settings) с выпадающим меню Library: Библия, Service (Часослов, Сборник, Молитвенное правило, Каноны и акафисты, Паримии, Пареклит, Ирмологий), Праздники (Минея, Постная Триодь).
|
||||
|
||||
## Технологический стек
|
||||
@@ -20,7 +23,7 @@
|
||||
- [TypeScript](https://www.typescriptlang.org/) — полностью типизированный
|
||||
- [Vite](https://vitejs.dev/) — инструмент сборки
|
||||
- [Tailwind CSS v4](https://tailwindcss.com/) — CSS с утилитарными классами
|
||||
- [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) — конвертация устаревшего XML (только ручной режим)
|
||||
- [vite-plugin-pwa](https://vite-pwa-org.netlify.app/) — PWA + service worker
|
||||
|
||||
## Начало работы
|
||||
|
||||
@@ -31,15 +34,6 @@ npm run dev
|
||||
|
||||
Файлы данных в `static/data/` отслеживаются в git. Единственный игнорируемый файл вывода — `scripts/output/minei.json` (33МБ источник Четьи-Миней).
|
||||
|
||||
Для повторного создания из XML-источников Java Ponomar запустите:
|
||||
|
||||
```bash
|
||||
npm run convert # повторная конвертация всех данных из XML
|
||||
npm run migrate # нормализация к текущему формату
|
||||
```
|
||||
|
||||
Установите `PONOMAR_JAVA_HOME` для указания на локальный клон репозитория Java Ponomar (по умолчанию `../ponomar`).
|
||||
|
||||
```bash
|
||||
npm run build # продуктивная сборка
|
||||
npm run preview # предпросмотр продуктивной сборки
|
||||
@@ -48,7 +42,9 @@ npm run preview # предпросмотр продуктивной сборк
|
||||
## QA / Валидация
|
||||
|
||||
```bash
|
||||
npx tsx scripts/validate-data.ts # Главный валидатор (274 файлов проверено)
|
||||
npx tsc --noEmit # Проверка типов TypeScript
|
||||
npm run build # Проверка сборки
|
||||
npx tsx scripts/validate-data.ts # Главный валидатор
|
||||
npx tsx scripts/validate-i18n.ts # Полнота i18n (en/ru/cu)
|
||||
npx tsx scripts/validate-tabs.ts # Согласованность вкладок/шаблонов богослужений
|
||||
npx tsx scripts/validate-menaion.ts # Валидация данных минеи
|
||||
@@ -67,9 +63,9 @@ npx tsx scripts/assembler-test.ts # Интеграционные тест
|
||||
- **Menaion (daily)** — 367 ежедневных записей (одна на каждый день юлианского календаря)
|
||||
- **Menaion (feasts)** — 34 неподвижных праздника с отдельными богослужениями
|
||||
- **Canons** — Пареклит (будние дни, 8 гласов × 6 дней = 48), Осмогласник (воскресенье, 8 гласов), Великий канон
|
||||
- **Services** — 78 богослужений с полными данными (Пасха, расслабленный, Сергий, Покров и др.; Var/I-префикс + простые P-узлы varNodes теперь перехватываются)
|
||||
- **Services** — 78 богослужений с полными данными
|
||||
- **Horologion / Sbornik / Prayer Rule / Akathists / Parimii / Paraclete / Irmologion** — коллекции суточного круга
|
||||
- **Lives** — Жития святых (en/cu/ru, 1190/3046 с обогащённым life.text из Четьи-Миней)
|
||||
- **Lives** — Жития святых (en/cu/ru, 1203/3046 с обогащённым life.text из Четьи-Миней и Булгакова)
|
||||
|
||||
## Структура проекта
|
||||
|
||||
@@ -91,11 +87,5 @@ static/
|
||||
|
||||
## Документация
|
||||
|
||||
- **[DATA_FORMAT.md](DATA_FORMAT.md)** — Комплексная документация формата статических данных на английском языке
|
||||
- **[DATA_RUS.md](DATA_RUS.md)** — Полная русская документация формата данных и процесса обогащения
|
||||
|
||||
Охватывает:
|
||||
- Модели статических данных, правила маршрутизации и разбор компонентов
|
||||
- Полный набор инструментов для конвертации, миграции и валидации
|
||||
- Конвейер обогащения Четьи-Миней и рабочий процесс контроля качества
|
||||
- Краткий справочник по всем доступным npm-скриптам и командам
|
||||
- **[DATA_EN.md](DATA_EN.md)** — Комплексная документация формата статических данных на английском языке
|
||||
- **[DATA_RUS.md](DATA_RUS.md)** — Полная русская документация формата данных и процесса обогащения
|
||||
Reference in new issue
Block a user