Loading Documentation Hub...
Scanning documentation library
Loading Documentation Hub...
Scanning documentation library
Documentation
📚 Documentation
Loading Documentation Hub...
Scanning documentation library
Scanning documentation library
Scanning documentation library
Scanning documentation library
Підготовка контенту платформи Ring
Підготовка контенту платформи Ring
Підготовка контенту платформи Ring
Статус: 🔄 В процесі (спринти 2.1–2.3 завершені; залишилися 2.4–2.5)
Тривалість: 2-3 тижні
Попередні вимоги: Завершена Фаза 1
Фаза 2 перетворює базовий contentEditable редактор на науковий редактор публікацій світового класу з розширеним редагуванням тексту, підтримкою LaTeX-рівнянь, автозбереженням, історією версій та можливостями експорту.
Реалізовано (2026-02-25): Форматований текст (Tiptap), LaTeX (KaTeX + модальне вікно формул), автозбереження (затримка 30 с), історія версій (знімок/відновлення), схема публікацій та API. Детальна документація: Науковий редактор.
Статус: 🔄 В процесі (спринти 2.1–2.3 завершені; залишилися 2.4–2.5)
Тривалість: 2-3 тижні
Попередні вимоги: Завершена Фаза 1
Фаза 2 перетворює базовий contentEditable редактор на науковий редактор публікацій світового класу з розширеним редагуванням тексту, підтримкою LaTeX-рівнянь, автозбереженням, історією версій та можливостями експорту.
Реалізовано (2026-02-25): Форматований текст (Tiptap), LaTeX (KaTeX + модальне вікно формул), автозбереження (затримка 30 с), історія версій (знімок/відновлення), схема публікацій та API. Детальна документація: Науковий редактор.
Статус: 🔄 В процесі (спринти 2.1–2.3 завершені; залишилися 2.4–2.5)
Тривалість: 2-3 тижні
Попередні вимоги: Завершена Фаза 1
Фаза 2 перетворює базовий contentEditable редактор на науковий редактор публікацій світового класу з розширеним редагуванням тексту, підтримкою LaTeX-рівнянь, автозбереженням, історією версій та можливостями експорту.
Реалізовано (2026-02-25): Форматований текст (Tiptap), LaTeX (KaTeX + модальне вікно формул), автозбереження (затримка 30 с), історія версій (знімок/відновлення), схема публікацій та API. Детальна документація: Науковий редактор.
Ключові компоненти:
components/editor/scientific-editor.tsx — Основний редактор Tiptapcomponents/editor/editor-toolbar.tsx — Панель форматуванняФункції:
mathBlock (KaTeX); модальне вікно формул з попереднім переглядомСхема бази даних (шаблон Ring JSONB у data/schema.sql):
Ключові компоненти:
components/editor/scientific-editor.tsx — Основний редактор Tiptapcomponents/editor/editor-toolbar.tsx — Панель форматуванняФункції:
mathBlock (KaTeX); модальне вікно формул з попереднім переглядомСхема бази даних (шаблон Ring JSONB у data/schema.sql):
Ключові компоненти:
components/editor/scientific-editor.tsx — Основний редактор Tiptapcomponents/editor/editor-toolbar.tsx — Панель форматуванняФункції:
mathBlock (KaTeX); модальне вікно формул з попереднім переглядомСхема бази даних (шаблон Ring JSONB у data/schema.sql):
publications: id, data (user_id, title, content, status, template_id), created_at, updated_atpublication_versions: id, data (publication_id, version_number, content, change_summary, created_by), created_at, updated_atAPI: GET/POST /api/publications, GET/PUT/DELETE /api/publications/[id], GET/POST /api/publications/[id]/versions (знімок/відновлення).
Функції:
Формати експорту:
publications: id, data (user_id, title, content, status, template_id), created_at, updated_atpublication_versions: id, data (publication_id, version_number, content, change_summary, created_by), created_at, updated_atAPI: GET/POST /api/publications, GET/PUT/DELETE /api/publications/[id], GET/POST /api/publications/[id]/versions (знімок/відновлення).
Функції:
Формати експорту:
publications: id, data (user_id, title, content, status, template_id), created_at, updated_atpublication_versions: id, data (publication_id, version_number, content, change_summary, created_by), created_at, updated_atAPI: GET/POST /api/publications, GET/PUT/DELETE /api/publications/[id], GET/POST /api/publications/[id]/versions (знімок/відновлення).
Функції:
Формати експорту:
# Редактор Tiptap (17 пакетів)
npm install @tiptap/react @tiptap/starter-kit @tiptap/extension-placeholder \
@tiptap/extension-highlight @tiptap/extension-typography \
@tiptap/extension-text-align @tiptap/extension-underline \
@tiptap/extension-subscript @tiptap/extension-superscript \
@tiptap/extension-table @tiptap/extension-table-row \
@tiptap/extension-table-cell @tiptap/extension-table-header \
@tiptap/extension-image @tiptap/extension-link \
@tiptap/extension-code-block-lowlight lowlight
# LaTeX
npm install katex react-katex
# Редактор Tiptap (17 пакетів)
npm install @tiptap/react @tiptap/starter-kit @tiptap/extension-placeholder \
@tiptap/extension-highlight @tiptap/extension-typography \
@tiptap/extension-text-align @tiptap/extension-underline \
@tiptap/extension-subscript @tiptap/extension-superscript \
@tiptap/extension-table @tiptap/extension-table-row \
@tiptap/extension-table-cell @tiptap/extension-table-header \
@tiptap/extension-image @tiptap/extension-link \
@tiptap/extension-code-block-lowlight lowlight
# LaTeX
npm install katex react-katex
# Редактор Tiptap (17 пакетів)
npm install @tiptap/react @tiptap/starter-kit @tiptap/extension-placeholder \
@tiptap/extension-highlight @tiptap/extension-typography \
@tiptap/extension-text-align @tiptap/extension-underline \
@tiptap/extension-subscript @tiptap/extension-superscript \
@tiptap/extension-table @tiptap/extension-table-row \
@tiptap/extension-table-cell @tiptap/extension-table-header \
@tiptap/extension-image @tiptap/extension-link \
@tiptap/extension-code-block-lowlight lowlight
# LaTeX
npm install katex react-katex
components/editor/
├── scientific-editor.tsx # Основний редактор з Tiptap
├── editor-toolbar.tsx # Панель форматування
├── extensions/
│ └── latex-extension.ts # Рендеринг LaTeX
├── equation-editor.tsx # Модальне вікно рівнянь
├── figure-upload.tsx # Завантаження зображень
├── table-editor.tsx # Створення таблиць
├── version-history-panel.tsx # Браузер версій
└── export-dialog.tsx # Опції експорту
features/publications/services/
├── publication-service.ts # CRUD-операції
├── pdf-export-service.ts # Генерація PDF
├── docx-export-service.ts # Експорт Word
└── markdown-export-service.ts # Експорт Markdown
components/editor/
├── scientific-editor.tsx # Основний редактор з Tiptap
├── editor-toolbar.tsx # Панель форматування
├── extensions/
│ └── latex-extension.ts # Рендеринг LaTeX
├── equation-editor.tsx # Модальне вікно рівнянь
├── figure-upload.tsx # Завантаження зображень
├── table-editor.tsx # Створення таблиць
├── version-history-panel.tsx # Браузер версій
└── export-dialog.tsx # Опції експорту
features/publications/services/
├── publication-service.ts # CRUD-операції
├── pdf-export-service.ts # Генерація PDF
├── docx-export-service.ts # Експорт Word
└── markdown-export-service.ts # Експорт Markdown
components/editor/
├── scientific-editor.tsx # Основний редактор з Tiptap
├── editor-toolbar.tsx # Панель форматування
├── extensions/
│ └── latex-extension.ts # Рендеринг LaTeX
├── equation-editor.tsx # Модальне вікно рівнянь
├── figure-upload.tsx # Завантаження зображень
├── table-editor.tsx # Створення таблиць
├── version-history-panel.tsx # Браузер версій
└── export-dialog.tsx # Опції експорту
features/publications/services/
├── publication-service.ts # CRUD-операції
├── pdf-export-service.ts # Генерація PDF
├── docx-export-service.ts # Експорт Word
└── markdown-export-service.ts # Експорт Markdown
| Метрика | Ціль |
|---|---|
| Час рендерингу редактора | менше 100мс |
| Затримка автозбереження | менше 500мс |
| Час завантаження версії | менше 1с |
| Час експорту PDF | менше 5с |
| Час експорту Word | менше 3с |
| Покриття тестами | понад 80% |
| Оцінка Lighthouse | понад 90 |
| Метрика | Ціль |
|---|---|
| Час рендерингу редактора | менше 100мс |
| Затримка автозбереження | менше 500мс |
| Час завантаження версії | менше 1с |
| Час експорту PDF | менше 5с |
| Час експорту Word | менше 3с |
| Покриття тестами | понад 80% |
| Оцінка Lighthouse | понад 90 |
| Метрика | Ціль |
|---|---|
| Час рендерингу редактора | менше 100мс |
| Затримка автозбереження | менше 500мс |
| Час завантаження версії | менше 1с |
| Час експорту PDF | менше 5с |
| Час експорту Word | менше 3с |
| Покриття тестами | понад 80% |
| Оцінка Lighthouse | понад 90 |
| Ризик | Рішення |
|---|---|
| Крива навчання Tiptap | Почати з starter-kit, додавати розширення поступово |
| Продуктивність LaTeX | Ледачий рендеринг рівнянь поза областю видимості |
| Втрата форматування при експорті | Тестування зі складними документами, попередній перегляд |
| Конфлікти автозбереження | Виявлення вкладок та UI вирішення конфліктів |
| Ризик | Рішення |
|---|---|
| Крива навчання Tiptap | Почати з starter-kit, додавати розширення поступово |
| Продуктивність LaTeX | Ледачий рендеринг рівнянь поза областю видимості |
| Втрата форматування при експорті | Тестування зі складними документами, попередній перегляд |
| Конфлікти автозбереження | Виявлення вкладок та UI вирішення конфліктів |
| Ризик | Рішення |
|---|---|
| Крива навчання Tiptap | Почати з starter-kit, додавати розширення поступово |
| Продуктивність LaTeX | Ледачий рендеринг рівнянь поза областю видимості |
| Втрата форматування при експорті | Тестування зі складними документами, попередній перегляд |
| Конфлікти автозбереження | Виявлення вкладок та UI вирішення конфліктів |
lib/file/FileService.ts — Абстракція завантаження файлівlib/file/adapters/VercelAdapter.ts — Сховище Vercel Blobfeatures/news/components/editor/rich-text-editor.tsx — Референс TinyMCEcomponents/vendor/store-logo-uploader.tsx — Патерн drag & dropzemna-ai-scientific-editor-architecturezemna-ai-tiptap-integrationzemna-ai-latex-supportzemna-ai-version-history-systemzemna-ai-export-pipelinescientific-editor-componentauto-save-hookpdf-export-servicefigure-table-systemlib/file/FileService.ts — Абстракція завантаження файлівlib/file/adapters/VercelAdapter.ts — Сховище Vercel Blobfeatures/news/components/editor/rich-text-editor.tsx — Референс TinyMCEcomponents/vendor/store-logo-uploader.tsx — Патерн drag & dropzemna-ai-scientific-editor-architecturezemna-ai-tiptap-integrationzemna-ai-latex-supportzemna-ai-version-history-systemzemna-ai-export-pipelinescientific-editor-componentauto-save-hookpdf-export-servicefigure-table-systemlib/file/FileService.ts — Абстракція завантаження файлівlib/file/adapters/VercelAdapter.ts — Сховище Vercel Blobfeatures/news/components/editor/rich-text-editor.tsx — Референс TinyMCEcomponents/vendor/store-logo-uploader.tsx — Патерн drag & dropzemna-ai-scientific-editor-architecturezemna-ai-tiptap-integrationzemna-ai-latex-supportzemna-ai-version-history-systemzemna-ai-export-pipelinescientific-editor-componentauto-save-hookpdf-export-servicefigure-table-system