Knowledge Base Embed Tool

Knowledge Base Embed Tool

Create a searchable, embeddable FAQ widget for your site.

1. Knowledge Base Data

2. Widget Customization

Live Preview

Embed Code

`; document.getElementById('embedCode').value = code.trim(); } function copyCode() { document.getElementById('embedCode').select(); document.execCommand('copy'); document.getElementById('copyBtn').textContent = 'Copied!'; setTimeout(() => { document.getElementById('copyBtn').textContent = 'Copy Code'; }, 2000); } async function generatePdf() { document.getElementById('pdf-date').textContent = new Date().toLocaleDateString(); const detailsContainer = document.getElementById('pdf-details'); detailsContainer.innerHTML = `

Widget Title

${config.widgetTitle}

Search Placeholder

${config.searchPlaceholder}

Accent Color

Total Q&A Pairs

${kb.length}

`; const reportEl = document.getElementById('pdf-report'); reportEl.classList.remove('hidden'); const canvas = await html2canvas(reportEl, { scale: 2 }); reportEl.classList.add('hidden'); const imgData = canvas.toDataURL('image/png'); const { jsPDF } = window.jspdf; const pdf = new jsPDF({ orientation: 'p', unit: 'in', format: 'letter' }); const pdfWidth = pdf.internal.pageSize.getWidth(); const pdfHeight = (canvas.height * pdfWidth) / canvas.width; pdf.addImage(imgData, 'PNG', 0, 0, pdfWidth, pdfHeight); pdf.save('KB-Embed-Config.pdf'); } document.getElementById('input-panel').addEventListener('input', updateAll); document.getElementById('copyBtn').addEventListener('click', copyCode); document.getElementById('downloadPdfBtn').addEventListener('click', generatePdf); document.getElementById('preview-search').addEventListener('input', e => renderPreview(e.target.value)); updateAll(); });