Personal Finance Blog Post Generator

Personal Finance Blog Post Generator

Create a clear and actionable financial article for your readers.

${post.intro}

${post.body}

Your Path Forward

${post.conclusion}

`; elements.outputContainer.innerHTML = generatedPostHTML; }; const handleDownloadPdf = () => { const { jsPDF } = window.jspdf; if (!jsPDF) { console.error("jsPDF is not loaded."); return; } const doc = new jsPDF({ orientation: 'portrait', unit: 'in', format: 'letter' }); const tempDiv = document.createElement('div'); tempDiv.innerHTML = generatedPostHTML; const margin = 0.75; const pageWidth = doc.internal.pageSize.getWidth(); const usableWidth = pageWidth - (margin * 2); let currentY = 0; // PDF Header doc.setFillColor('#f0fdf4'); // green-50 doc.rect(0, 0, pageWidth, 1.5, 'F'); doc.setDrawColor('#16a34a'); // green-600 doc.setLineWidth(0.02); doc.line(0, 1.5, pageWidth, 1.5); // Title doc.setFont('times', 'bold'); doc.setFontSize(22); doc.setTextColor('#14532d'); // green-900 const titleText = tempDiv.querySelector('h2').innerText; const titleLines = doc.splitTextToSize(titleText, usableWidth); doc.text(titleLines, pageWidth / 2, 0.8, { align: 'center' }); currentY = 1.8; // Body Content doc.setFont('georgia', 'normal'); doc.setFontSize(11); doc.setTextColor('#374151'); // gray-700 doc.setLineHeightFactor(1.6); Array.from(tempDiv.children).forEach(el => { if (el.tagName === 'H2') return; // Skip title if (currentY > 10) { doc.addPage(); currentY = margin; } let text = el.innerText || el.textContent || ''; if (el.tagName === 'H3') { currentY += 0.2; doc.setFont('times', 'bold'); doc.setFontSize(14); doc.setTextColor('#15803d'); // green-700 doc.text(text, margin, currentY); doc.setFont('georgia', 'normal'); doc.setFontSize(11); currentY += 0.35; } else if (el.tagName === 'P') { const pLines = doc.splitTextToSize(text, usableWidth); doc.text(pLines, margin, currentY); currentY += (pLines.length * 0.25); } }); // Footer const pageCount = doc.internal.getNumberOfPages(); for(let i = 1; i <= pageCount; i++) { doc.setPage(i); doc.setFont('helvetica', 'italic'); doc.setFontSize(9); doc.setTextColor('#6b7280'); // gray-500 doc.text(`Financial Action Plan - Page ${i} of ${pageCount}`, pageWidth / 2, 10.5, { align: 'center' }); } doc.save('Personal-Finance-Post.pdf'); }; // --- Event Listeners --- elements.tabDefine.addEventListener('click', () => switchTab('define')); elements.tabReview.addEventListener('click', () => switchTab('review')); elements.nextBtn.addEventListener('click', () => currentTab === 'define' && switchTab('review')); elements.prevBtn.addEventListener('click', () => currentTab === 'review' && switchTab('define')); elements.downloadPdfBtn.addEventListener('click', handleDownloadPdf); });
Scroll to Top