Files
Learn_System/backend/src/db/migrations/010_physics_8_merge.sql
T
Maxim Dolgolyov 87e78714b7 feat(textbooks): объединить 3 части Физики 8 в один hub-учебник
Подход: hub-страница, а не слияние файлов.

Проблема: 3 готовых файла-главы (thermal/electro/optics) занимали 3 карточки в каталоге. Физическое слияние в один файл = 800КБ+, конфликты CSS/JS namespaces, риск сломать KaTeX.

Решение:
- Создан frontend/textbooks/physics_8.html — hub-страница с 3 крупными карточками-разделами (амбер/синий/фиолетовый)
- Карточки ссылаются напрямую на /textbooks/physics8_thermal.html и т.д. (express.static уже отдаёт эти файлы)
- Из каталога /textbooks теперь видна ОДНА карточка «Физика 8», sort_order 4
- Hub-страница показывает прогресс по каждой главе через LocalStorage (best-effort парсинг)
- Header «К каталогу», переключатель темы синхронизирован с главами

Миграция 010: удалила 3 прежние записи (physics-8-thermal/electro/optics), добавила физическо-8 → physics_8.html, para_count=40.

Эмодзи в hub не используются (только inline SVG). Эмодзи в файлах глав остались — это контент.
2026-05-27 09:55:24 +03:00

12 lines
1.2 KiB
SQL

-- Объединить 3 отдельных учебника физики 8 (thermal/electro/optics) в один hub-учебник.
-- Hub-страница physics_8.html содержит карточки 3 разделов и ссылки на исходные файлы.
-- 1. Удаляем 3 прежние записи (создали их часом раньше, прогресса пользователей ещё нет).
DELETE FROM textbooks WHERE slug IN ('physics-8-thermal','physics-8-electro','physics-8-optics');
-- 2. Регистрируем единый учебник «Физика 8» с hub-страницей.
INSERT OR IGNORE INTO textbooks (slug, subject, grade, title, author, description, html_path, para_count, color, sort_order) VALUES
('physics-8', 'physics', 8, 'Физика — 8 класс', 'Исаченкова Л. А.',
'Интерактивный учебник по физике 8 класса. 40 параграфов в трёх разделах: Тепловые явления (§1–§11), Электрические явления (§12–§31), Световые явления (§32–§40).',
'physics_8.html', 40, 'blue', 4);