Detailed Schedule
Details for each day including slides, code, and other activities are added prior to class.
Details for each day including slides, code, and other activities are added prior to class.
function activityFormatter(activities) {
if (!activities) {
return null;
}
const lis = activities.map(activity => htl.html`<li><a href="${activity.link}">${activity.label}</a></li>`);
return htl.html`Activities:<ul>${lis}</ul>`;
}
function buildSchedule(scheduleData) {
return scheduleData.map(day => {
const dayFmt = htl.html.fragment`<h3>Day ${day.day_index}: ${day.topic}${day.slides ? htl.html` (<a href="${day.slides}">slides</a>)` : null}</h3>`;
const date = htl.html.fragment`🗓️ ${day.date_str}<br>`;
return htl.html.fragment`${dayFmt}${date}${activityFormatter(day.activities)}`;
});
}
htl.html`${buildSchedule(scheduleData)}`