1 / 1

    ${allHtml} `; const blob = new Blob([standalone], { type: 'text/html;charset=utf-8' }); const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = 'presentation.html'; a.click(); URL.revokeObjectURL(url); } $('#mdInput').addEventListener('input', render); $('#prevBtn').addEventListener('click', () => go(currentSlide - 1)); $('#nextBtn').addEventListener('click', () => go(currentSlide + 1)); document.addEventListener('keydown', (e) => { if (e.target.tagName === 'TEXTAREA' || e.target.tagName === 'INPUT') return; if (e.key === 'ArrowRight') go(currentSlide + 1); else if (e.key === 'ArrowLeft') go(currentSlide - 1); }); // Theme row $('#themeRow').innerHTML = ['light','dark','sepia','galaxy'].map(name => { const key = 'theme' + name.charAt(0).toUpperCase() + name.slice(1); return `
    ${t(key)}
    `; }).join(''); document.querySelectorAll('.theme-chip').forEach(c => c.addEventListener('click', () => setTheme(c.dataset.theme))); $('#toolbar').innerHTML = ` `; // Fix example button (onclick can't see EXAMPLE directly in this scope — use global) window.loadExample = function() { $('#mdInput').value = EXAMPLE; render(); }; $('#toolbar').children[3].onclick = window.loadExample; $('#mdInput').value = EXAMPLE; GZ.renderToolPage({ category: 'text', titleKey: 'toolTitle', descKey: 'toolDesc', howToSteps: ['step1','step2','step3','step4'], related: [ {icon:'📝', href:'/text/markdown-editor.html', name:'Markdown Editor'}, {icon:'📄', href:'/dev/markdown-to-html.html', name:'Markdown → HTML'}, {icon:'🎨', href:'/text/markdown-cheatsheet.html', name:'Markdown Cheatsheet'}, {icon:'📊', href:'/text/markdown-table-generator.html', name:'MD Table Generator'}, ] }); render();