<!DOCTYPE html> <html> <head> <meta charset='utf-8' /> <link href='../packages/core/main.css' rel='stylesheet' /> <link href='../packages/daygrid/main.css' rel='stylesheet' /> <link href='../packages/timegrid/main.css' rel='stylesheet' /> <link href='../packages/list/main.css' rel='stylesheet' /> <script src='../vendor/rrule.js'></script> <script src='../packages/core/main.js'></script> <script src='../packages/interaction/main.js'></script> <script src='../packages/daygrid/main.js'></script> <script src='../packages/timegrid/main.js'></script> <script src='../packages/list/main.js'></script> <script src='../packages/rrule/main.js'></script> <script> document.addEventListener('DOMContentLoaded', function() { var calendarEl = document.getElementById('calendar'); var calendar = new FullCalendar.Calendar(calendarEl, { plugins: [ 'interaction', 'dayGrid', 'timeGrid', 'list', 'rrule' ], header: { left: 'prev,next today', center: 'title', right: 'dayGridMonth,timeGridWeek,timeGridDay,listMonth' }, defaultDate: '2020-05-12', editable: true, events: [ { title: 'rrule event', rrule: { dtstart: '2020-05-09T13:00:00', // until: '2020-05-01', freq: 'weekly' }, duration: '02:00' } ], eventClick: function(arg) { if (confirm('delete event?')) { arg.event.remove() } } }); calendar.render(); }); </script> <style> body { margin: 40px 10px; padding: 0; font-family: Arial, Helvetica Neue, Helvetica, sans-serif; font-size: 14px; } #calendar { max-width: 900px; margin: 0 auto; } </style> </head> <body> <div id='calendar'></div> </body> </html>