Post Scheduler Generator
Your generated post schedule. Configure details in the 'Configuration' tab and click 'Generate & View Schedule'.
Please select a valid start date.
'; return; } const durationWeeks = parseInt(durationInput.value, 10) || 1; const platforms = Array.from(document.querySelectorAll('.psg-platform:checked')).map(cb => cb.value); const templates = Array.from(document.querySelectorAll('.psg-template-item')).map(item => ({ name: item.querySelector('.psg-template-name').value.trim() || 'Untitled', color: item.querySelector('.psg-template-color').value })).filter(t => t.name !== 'Untitled'); if (platforms.length === 0 || templates.length === 0) { scheduleOutput.innerHTML = 'Please select at least one platform and add at least one post template.
'; return; } let schedule = []; let postCounter = 0; const days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; for (let week = 0; week < durationWeeks; week++) { for (let day = 0; day < 7; day++) { const currentDate = new Date(startDate); currentDate.setDate(startDate.getDate() + (week * 7) + day); const dateString = currentDate.toLocaleDateString('en-CA'); // YYYY-MM-DD const dayOfWeek = days[currentDate.getDay()]; platforms.forEach(platform => { const template = templates[postCounter % templates.length]; schedule.push({ date: dateString, day: dayOfWeek, platform: platform, template: template }); postCounter++; }); } } let tableHTML = `| Date | Day | Platform | Post Template/Topic |
|---|---|---|---|
| ${post.date} | ${post.day} | ${post.platform} | ${post.template.name} |
