// ═══════════════════════════════════════════════════════ // Markdown Preview // ═══════════════════════════════════════════════════════ function renderMarkdown() { const md = document.getElementById('mdInput').value; if (!md) { document.getElementById('mdPreview').innerHTML = 'Preview will appear here...'; return; } let html = md .replace(/^### (.+)$/gm, '
$1')
.replace(/`([^`]+)`/g, '$1')
.replace(/\*\*(.+?)\*\*/g, '$1')
.replace(/\*(.+?)\*/g, '$1')
.replace(/~~(.+?)~~/g, '$1') .replace(/^\- (.+)$/gm, '
')
.replace(/\n/g, '
');
html = '
' + html + '
'; // Wrap consecutive li in ul html = html.replace(/(