el-schneider/statamic-calendar
A calendar addon for Statamic that lets you create and manage events, render calendar views, and bring scheduling to your Laravel-powered site. Simple to install, configure, and customize within your existing content workflow.
composer require and publish the example templates first: php artisan vendor:publish --tag=statamic-calendar-examples. Since v0.8.0 the addon no longer ships a working /calendar page, so the examples are your starting point, not optional docs.config/statamic-calendar.php) and the base views (--tag=statamic-calendar-views) only if you intend to own and maintain overrides. The examples namespace is the safer reference.events collection whose blueprint exposes a tags terms field (taxonomy terms), rendered through the addon's calendar tag with :tags="tags", with events/index.antlers.html and events/show.antlers.html living in your app's resources/views.routes/web.php — this is now the expected setup, not a workaround:Route::statamic('calendar', 'events/index');
Route::statamic('calendar/{slug}', 'events/show');
{{ calendar :tags="tags" }}. A terms field holding a single term (blueprint max_items: 1) and one holding a query builder both now filter correctly — before v0.8.0 they silently fell through and listed every event, so re-test any listing you had "fixed" with workarounds.Route::statamic() for the listing and detail routes so the templates stay in resources/views and version control, rather than relying on package-shipped views. This also makes per-site route names and middleware straightforward.statamic-calendar/index / statamic-calendar/show, copy or rewrite those into events/index and events/show in your app and point collection routes and Route::statamic() at the app templates. If you had already published statamic-calendar-views, those files keep working — but they're now an orphaned snapshot; plan a migration to app-owned templates./calendar. Add the route, then grep templates and nav/header partials for hardcoded /calendar links and any statamic-calendar/* template references in collection route settings; both were implicit before and are explicit now.InvalidArgumentException instead of a silently unfiltered listing.InvalidArgumentException is the highest-risk part of this release. Any entry whose tags field contains free text, an ID, an array of mixed values, or imported/garbage data will now 500 the listing instead of quietly degrading. Audit the field values across entries before deploying, and add validation to the blueprint or a normalisation step if the field is loose.routes in the config is dead. Remove the key from a published config/statamic-calendar.php; it is no longer read, and leaving it invites someone to "fix" routing by editing a value that does nothing./calendar and a detail URL after upgrading.max_items: 1 and multi-term field configs, since the two paths differ.statamic-calendar-views into your app, and treat statamic-calendar-examples as read-only reference material — copying is fine, editing in place is not, since the next publish will overwrite your work.How can I help you explore Laravel packages today?