fix(textbooks): Физика 9 — escape § в num + phys9_legacy.js + финалы 5 глав
Багфиксы: - gen_phys9_ch.js: убран двойной escape \u00a7 → литерал § (раньше карточка показывала '\u00a7 1' вместо '§ 1') - phys9_legacy.js (262 КБ): извлечён весь JS монолита для глобальных onclick- обработчиков (startAnim1, lab11add/all/reset, checkNum, togglePend36 и пр.). Setup-код в конце обёрнут в try/catch — он рассчитан на DOM монолита. - migrate_phys9_ch4.js + migrate_phys9_content.js: подключают phys9_legacy.js во все 5 ch-файлов перед закрытием <head>. Финалы глав (write_phys9_finals.js): - ch1: 5 задач (кинематика — поезд, разгон, окружность, лодка/река) - ch2: 5 задач (динамика — трение, Гук, свободное падение, перегрузка) - ch3: 5 задач (статика — рычаг, Архимед, блок, КПД накл. плоск., льдина) - ch4: 5 задач (импульс — неупр. удар, ЗСЭ, мощность крана, пуля, бросок) - ch5: 5 контрольных по практикуму (среднее, ЛР2, ЛР4, ЛР6, ЛР10) Все задачи с автопроверкой через checkNum() (теперь работает из legacy.js).
This commit is contained in:
@@ -155,6 +155,14 @@ function migrateChapter(chN, paraNums) {
|
||||
);
|
||||
}
|
||||
|
||||
// phys9_legacy.js (provides startAnim1, lab11*, checkNum, togglePend36, etc.)
|
||||
if (!h.includes('phys9_legacy.js')) {
|
||||
h = h.replace(
|
||||
'<script src="/js/phys.js" defer></script>',
|
||||
'<script src="/js/phys.js" defer></script>\n<script src="/js/phys9_legacy.js" defer></script>'
|
||||
);
|
||||
}
|
||||
|
||||
fs.writeFileSync(dstPath, h);
|
||||
console.log(`ch${chN}: ${before} → ${h.length} bytes`);
|
||||
|
||||
@@ -204,6 +212,12 @@ function migrateCh5(chN = 5) {
|
||||
'<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css">\n<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">'
|
||||
);
|
||||
}
|
||||
if (!h.includes('phys9_legacy.js')) {
|
||||
h = h.replace(
|
||||
'<script src="/js/phys.js" defer></script>',
|
||||
'<script src="/js/phys.js" defer></script>\n<script src="/js/phys9_legacy.js" defer></script>'
|
||||
);
|
||||
}
|
||||
|
||||
fs.writeFileSync(dstPath, h);
|
||||
console.log(`ch5: ${before} → ${h.length} bytes`);
|
||||
|
||||
Reference in New Issue
Block a user