Education Blog Post Generator
Structure your knowledge into an engaging and informative post.
Generated Post (Editable)
${byline}
`; } let contentBody = fullPostText.substring(fullPostText.indexOf(lines[3])); contentBody = contentBody .replace(/### (.*?)\n/g, '$1
') .replace(/\n\n/g, '') .replace(/\n/g, ''); html += contentBody; const pdfContentHtml = `
${html}
`;
pdfContainer.innerHTML = pdfContentHtml;
const contentToCapture = document.getElementById('pdf-content');
if (!contentToCapture) return;
const fileName = `${title.replace(/[^a-z0-9]/gi, '_').toLowerCase()}.pdf`;
html2canvas(contentToCapture, { scale: 2, useCORS: true, logging: false })
.then(canvas => {
const imgData = canvas.toDataURL('image/jpeg', 0.95);
const pdf = new jsPDF({ orientation: 'portrait', unit: 'pt', format: 'a4' });
const imgProps = pdf.getImageProperties(imgData);
const pdfWidth = pdf.internal.pageSize.getWidth();
const pdfHeight = pdf.internal.pageSize.getHeight();
const ratio = imgProps.width / imgProps.height;
const scaledImgHeight = pdfWidth / ratio;
let heightLeft = scaledImgHeight;
let position = 0;
pdf.addImage(imgData, 'JPEG', 0, position, pdfWidth, scaledImgHeight);
heightLeft -= pdfHeight;
while (heightLeft > 0) {
position -= pdfHeight;
pdf.addPage();
pdf.addImage(imgData, 'JPEG', 0, position, pdfWidth, scaledImgHeight);
heightLeft -= pdfHeight;
}
pdf.save(fileName);
pdfContainer.innerHTML = '';
}).catch(error => {
console.error("Error generating PDF:", error);
pdfContainer.innerHTML = '';
});
};
// Generate a sample post on load
generatePost();
});
Generated by Education Blog Post Generator
