FAQ Schema Generator
Generated Schema
Copied!
`;
document.getElementById('schemaOutput').value = schemaScript;
// Update preview
updatePreview(faqs);
}
// Update visual preview
function updatePreview(faqs) {
const previewArea = document.getElementById('previewArea');
if (faqs.length === 0) {
previewArea.innerHTML = '
Add FAQ items to see a preview
';
return;
}
const faqHtml = faqs.map(faq => `
${escapeHtml(faq.question)}
${escapeHtml(faq.answer).replace(/\n/g, '
')}
`).join('');
previewArea.innerHTML = faqHtml;
}
// Copy to clipboard
function copyToClipboard() {
const schemaOutput = document.getElementById('schemaOutput');
schemaOutput.select();
document.execCommand('copy');
const copyStatus = document.getElementById('copyStatus');
copyStatus.style.display = 'inline';
setTimeout(() => {
copyStatus.style.display = 'none';
}, 2000);
}
// Helper function to escape HTML
function escapeHtml(text) {
if (!text) return '';
return text
.replace(/&/g, '&')
.replace(//g, '>')
.replace(/"/g, '"')
.replace(/'/g, ''');
}
})();