fix(lesson-editor): рендер формул KaTeX в ячейках таблиц в превью

Превью раньше рендерило KaTeX только в блоках .pv-formula — формулы $...$
в ячейках таблиц показывались сырыми, хотя у ученика (lesson.html) они
рендерятся. Таблица-превью получила класс .pv-table и попадает в KaTeX-проход.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Maxim Dolgolyov
2026-06-12 11:16:47 +03:00
parent 6fcdafed50
commit c75e331c02
+3 -3
View File
@@ -3110,8 +3110,8 @@
function renderPreview() {
const container = document.getElementById('blocks-container');
container.innerHTML = blocks.map(b => renderPreviewBlock(b)).join('');
// KaTeX
container.querySelectorAll('.pv-formula').forEach(el => renderKatexIn(el));
// KaTeX (формула-блоки + формулы внутри ячеек таблиц)
container.querySelectorAll('.pv-formula, .pv-table').forEach(el => renderKatexIn(el));
// Highlight.js
if (window.hljs) {
container.querySelectorAll('pre code').forEach(el => hljs.highlightElement(el));
@@ -3153,7 +3153,7 @@
case 'table': {
const rows = Array.isArray(d.rows) ? d.rows : [];
const hasH = d.headers !== false;
let html = '<div class="preview-block"><table>';
let html = '<div class="preview-block pv-table"><table>';
rows.forEach((r, ri) => {
html += '<tr>';
r.forEach(c => { const t = (ri===0&&hasH)?'th':'td'; html += `<${t}>${esc(String(c||''))}</${t}>`; });