// Перенос всего содержимого physics_9.html в physics_9_ch1..ch5.html. // - Извлекает CSS-блок монолита, инжектит в каждую ch-файл (стили нужны для рендера) // - Извлекает HTML-тело каждого §1..§36 + лабораторного блока // - Чистит emoji и Font Awesome // - Подключает FA CDN для совместимости // - Заменяет STUB-builder для каждого pid на реальный контент 'use strict'; const fs = require('fs'); const path = require('path'); const TBOOKS = path.join(__dirname, '..', '..', 'frontend', 'textbooks'); const SRC = path.join(TBOOKS, 'physics_9.html'); const src = fs.readFileSync(SRC, 'utf8'); // === Распределение §N → главе === const CH_OF = {}; for (let n = 1; n <= 14; n++) CH_OF[n] = 1; for (let n = 15; n <= 24; n++) CH_OF[n] = 2; for (let n = 25; n <= 30; n++) CH_OF[n] = 3; for (let n = 31; n <= 36; n++) CH_OF[n] = 4; // Заголовки § (для матчинга STUB) — должны точно совпадать с PARA_NAMES в gen_phys9_ch.js const PARA_NAMES = { 1:'Механическое движение', 2:'Относительность движения. Система отсчёта', 3:'Скалярные и векторные величины. Действия над векторами', 4:'Проекция вектора на ось', 5:'Путь и перемещение', 6:'Равномерное прямолинейное движение. Скорость', 7:'Графическое представление равномерного движения', 8:'Неравномерное движение. Средняя и мгновенная скорость', 9:'Сложение скоростей', 10:'Ускорение', 11:'Скорость при равноускоренном движении', 12:'Перемещение, координата и путь при равноускоренном движении', 13:'Линейная и угловая скорости', 14:'Ускорение точки при движении по окружности', 15:'Взаимодействие тел. Сила. ИСО. 1-й закон Ньютона', 16:'Масса', 17:'Второй закон Ньютона', 18:'Третий закон Ньютона. Принцип относительности Галилея', 19:'Деформация тел. Сила упругости. Закон Гука', 20:'Силы трения. Силы сопротивления среды', 21:'Движение тела под действием силы тяжести', 22:'Движение тела, брошенного под углом к горизонту', 23:'Закон всемирного тяготения', 24:'Вес. Невесомость и перегрузки', 25:'Условия равновесия тел. Момент силы', 26:'Простые механизмы. Рычаги. Блоки', 27:'Наклонная плоскость. «Золотое правило» механики. КПД', 28:'Центр тяжести. Виды равновесия', 29:'Закон Архимеда. Выталкивающая сила', 30:'Плавание судов. Воздухоплавание', 31:'Импульс тела. Импульс системы тел', 32:'Закон сохранения импульса. Реактивное движение', 33:'Механическая работа. Мощность', 34:'Потенциальная энергия', 35:'Кинетическая энергия. Полная энергия системы тел', 36:'Закон сохранения энергии', }; // === Извлекаем CSS === const styleStart = src.indexOf('', styleStart); const monolithCss = src.slice(styleStart, styleEnd); // === Извлекаем §1..§36 === // Boundary для §36 — позиция h2 лабораторной секции const labH2Pos = src.indexOf('Проверка закона сохранения импульса'); const labBoundary = labH2Pos > 0 ? src.lastIndexOf('