View Types
already.events supports six view types. Visitors can switch between enabled views using the selector bar, and their preference is saved in the browser.
Available views
| View | Best for |
|---|---|
| Month | Overview of the full month in a calendar grid. Event chips show on each day, with a "+N more" overflow for busy days. |
| Week | Seven-column layout of the current week. |
| Day | Single-day view with all events listed. Navigate between days. |
| Grid | Card layout with thumbnails. Great for visual browsing of upcoming events. |
| List | Compact chronological list. Efficient for scanning many events. |
| Detail | Two-column view for a single event: image gallery on one side, event info on the other. Visitors reach this by clicking any event. |
Every event is a link: a card in the grid and list views, a row in the day view, a chip in the month view, and a block in the week view. A click opens the event, and so does Enter once the event has keyboard focus. A middle click, or a click with Ctrl or Command held, opens it in a new tab. Inside an iframe embed that tab shows the calendar's own page with the event open, not the page the calendar is embedded in.
Header
The header shows the view's name as its title, the view's description or else the calendar's description, an optional icon, an optional link on the title, and a Subscribe button. You can change the title, description, icon, link and subscribe target for a single embed with the embed parameters, and hide the header with show_header.
Subscribe opens a menu with Apple Calendar, Google Calendar, Outlook, and a link to copy. Unless you set another subscribe target, every entry points at one feed that merges every calendar in the view: https://embed.already.events/v/<slug>.ics, with your view's slug in place of <slug>. A subscribe target that is a mailto: link shows a plain Subscribe link instead of the menu.
Pagination
Grid and list views are paginated — they show a set number of events per page (default: 10). Visitors use "Load more" to see additional upcoming events and "Show earlier" to see past events (when past events are enabled).
Past events
A toggle button appears when past events exist. Visitors can show or hide past events — this preference is in-memory and resets when the page is reloaded.
When past events are visible in grid and list views, they're shown in reverse-chronological order (most recent first) with their own "Show earlier" pagination.
Responsive behavior
The calendar adapts to different screen sizes:
- Desktop (above 1024px) — all views available, full-width grid
- Tablet (768–1024px) — condensed month view, two-column grid
- Mobile (below 768px) — defaults to list view, single-column layout, week view hidden from the selector
These breakpoints are fixed for hosted embeds.
Description rendering
Event descriptions support three formats, detected automatically:
- HTML — if the description contains HTML tags, they're rendered (with sanitization for safety)
- Markdown — if the description contains Markdown syntax (headings, bold, links, lists), it's parsed and rendered
- Plain text — the default. Newlines are preserved, and text is displayed as-is