#!/usr/bin/env node // Генератор скелета лабораторного практикума Физики 7. Phase 0: только инфраструктура. const fs = require('fs'); const path = require('path'); const VER = '20260530'; const OUT = path.join(__dirname, '..', '..', 'frontend', 'textbooks', 'physics_7_lab.html'); const LABS = [ { id:'lr1', num:'ЛР 1', title:'Определение цены деления шкалы измерительного прибора', wm:'1', tag:'§ 7' }, { id:'lr2', num:'ЛР 2', title:'Измерение длины', wm:'2', tag:'§ 4 · § 7' }, { id:'lr3', num:'ЛР 3', title:'Измерение объёма', wm:'3', tag:'§ 4' }, { id:'lr4', num:'ЛР 4', title:'Изучение неравномерного движения', wm:'4', tag:'§ 18' }, { id:'lr5', num:'ЛР 5', title:'Измерение плотности вещества', wm:'5', tag:'§ 20' }, { id:'lr6', num:'ЛР 6', title:'Изучение силы трения', wm:'6', tag:'§ 27' }, ]; const labsJs = LABS.map(l => `{id:'${l.id}',num:'${l.num}',title:${JSON.stringify(l.title)},wm:'${l.wm}',tag:'${l.tag}'}`).join(','); const sections = LABS.map(l => `
${l.num}

${l.title}

${l.tag}
Виртуальная лабораторная работа появится в Phase 7 (после контента глав).
`).join('\n'); const html = ` Физика 7 · Лабораторный практикум
К физике 7

Физика 7 · Лабораторный практикум

6 виртуальных лабораторных работ
Лабораторные работы
${sections}
`; fs.writeFileSync(OUT, html, 'utf8'); console.log(`[gen_phys7_lab] ${OUT} — ${html.split('\n').length} lines`);