-
Notifications
You must be signed in to change notification settings - Fork 31
Replace ICS file with calendar links and clean up #499
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
f4b061f
3b79b9c
5af8639
0c10114
9125a81
f529709
fc4fcba
7d7790b
5c2234f
367cf09
6d3e020
d4a5bef
af50c85
347a249
af71351
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,49 +1,37 @@ | ||
| --- | ||
| title: Awesome get-together on topic X 😎 | ||
| # Required. Displayed both on the event detail page and in the ICS calendar event. | ||
| summary: | ||
| # Required. Displayed on the Events overview page. | ||
| image: | ||
| # Optional. Displayed on Events overview page and the event detail page. | ||
| permalink: | ||
| # Optional. "/events/:slug" recommended for recurring events, to avoid that the event gets a date-based URL. | ||
| uid: | ||
| # Required. Don't edit after publishing. Get one here: https://www.random.org/strings/?num=1&len=20&digits=on&upperalpha=on&unique=on&format=html&rnd=new | ||
| sequence: | ||
| # Optional. Defaults to 0 if left empty. Should be increased with 1 on every big event edit. | ||
| timezone: | ||
| # Optional. Timezone used for the event. If not specified, UTC will be used. View & add timezones in _data/ics-timezones.yml | ||
| datetime-start: | ||
| # Required. Format: yyyy-mm-dd hh:mm. To find the meeting time in UTC, use https://www.timeanddate.com/worldclock/converter.html?p1=1440 | ||
| datetime-end: | ||
| # Required. Format: yyyy-mm-dd hh:mm. If recurring, this end time is applied also to all occurrences of the generated recurrence set | ||
| # Required. Displayed on the event detail page. | ||
| recurring: | ||
| # Optional. Can be "yes" | ||
| recurrence-text: | ||
| # Required if "recurring: yes". Displayed on Events overview page and the event detail page. View & add strings in _i18n/en.yml | ||
| recurrence-rule: | ||
| # Required if "recurring: yes". iCAL recurrence rule. Create recurrence rule here: https://icalendar.org/rrule-tool.html | ||
| # If used, the UNTIL rule part MUST be specified as a date with UTC time. | ||
| recurrence-exceptions: | ||
| # Optional. List of dates on which the event is not taking place. Put starting dates that match the recurrence pattern. Time of original meeting will be used & cancelled. Format: | ||
| # - yyyy-mm-dd | ||
| # - yyyy-mm-dd | ||
| recurrence-additions: | ||
| # List of date-times on which the event is additionally taking place. Format: | ||
| # - start: yyyy-mm-dd hh:mm | ||
| # end: yyyy-mm-dd hh:mm | ||
| # - start: yyyy-mm-dd hh:mm | ||
| # end: yyyy-mm-dd hh:mm | ||
| datetime-start: | ||
| # Required. Format: yyyy-mm-dd hh:mm. To find the meeting time in UTC, use https://www.timeanddate.com/worldclock/converter.html?p1=1440 | ||
| timezone: | ||
| # Optional. Timezone used for the event (e.g. Europe/Brussels). If not specified, UTC will be used. Used to complement the time HTML tag on the event page. | ||
| summary: | ||
| # Required. Displayed on the Events overview page. | ||
| image: | ||
| # Optional. Displayed on Events overview page and the event detail page. | ||
| location: | ||
| # Required. Must be an osm.org relation ID or the text 'online'. | ||
| location-label: | ||
| # Recommended. Human-readable description of the location (e.g. address) for ICS. If not provided, link to meeting-room or to OSM will be used. | ||
| more-information: | ||
| # Optional. Must be a URL. | ||
| # Required. Must be an osm.org type + ID (e.g. node/13473395006) or the text 'online'. | ||
|
|
||
| # Links on the events page: | ||
| meeting-room: | ||
| # Optional. Must be a URL. Link displayed on event page if "location: online". | ||
| more-information: | ||
| # Optional. Must be a URL. | ||
| blog-post: | ||
| # Optional. Must be the path of the blog post, starting with the year (e.g. 2022/10/translation-coordinator). | ||
| recording: | ||
| # Optional. Must be a URL. | ||
|
|
||
| # Calendar links: | ||
| calendar-path: | ||
| # Required for recurring events. Path under https://calendar.antennapod.org, for example "community-call". | ||
| uid: | ||
| # Required for one-off events. Davis/Sabre event UID used to build the direct .ics download URL. | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can't we just use the same calendar link property for both instead of trying to be smart? That's a lot more explicit
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The logic is:
For this distinction, we need different info. We create human-readable slugs via htaccess in Davis for recurring events, which we shouldn't be bothered to do for one-off events. Side note: UID is actually required always - our PR workflow fails without it.
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think the GUID was only needed when we generated events manually. Now, with the dedicated calendar tool, I think we can remove the CI check and the GUID from the files. Then we can still give the path to whatever Davis ends up giving as link.
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ok, we can drop the GUID being mandatory for events. Events then should have either a
difference between CalDAV and iCal according to Claude
Do you have a preference between the two? |
||
|
|
||
| --- | ||
|
|
||
| Event description goes here. Displayed on the event detail page, and used for the body of the ICS calendar event. | ||
| Event description goes here. Displayed on the event detail page. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,13 +1,13 @@ | ||
| --- | ||
| title: FOSDEM meetup | ||
| uid: d9342ce0-e029-4fe4-805a-50fda92d2f4f | ||
| uid: 9223c695-e382-4ad5-9340-856388138ab3 | ||
| timezone: Europe/Brussels | ||
| datetime-start: 2026-01-31 19:30 | ||
| datetime-end: 2026-01-31 21:30 | ||
| recurring: no | ||
| more-information: https://forum.antennapod.org/t/antennapod-fosdem-2026/7923 | ||
| image: brussels.jpg | ||
| blog-post: 2026/02/fosdem | ||
| location: node/13473395006 | ||
| --- | ||
|
|
||
| Some core AntennaPod contributors plan to join the [FOSDEM](https://fosdem.org/2026/) conference in Brussels from the 31th of January to the 1st of February. We plan to grab some drinks together on Saturday at 19:30. To join, please leave a post on [our forum](https://forum.antennapod.org/t/antennapod-fosdem-2026/7923). |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| --- | ||
| title: Monthly community call ☎ 🎙 | ||
| summary: Our monthly call to discuss anything AntennaPod (and beyond). Join us! | ||
| uid: 0718779a-5b92-48df-87e3-801e02154c06 | ||
|
keunes marked this conversation as resolved.
|
||
| calendar-path: community-call | ||
|
keunes marked this conversation as resolved.
|
||
| timezone: Europe/Brussels | ||
| datetime-start: 2022-04-09 18:00 | ||
| recurring: yes | ||
| recurrence-text: every-2nd-saturday | ||
| location: online | ||
| more-information: https://forum.antennapod.org/t/monthly-community-call/1869 | ||
| meeting-room: community-call | ||
| --- | ||
|
|
||
| {% tf "events/{{ page.slug }}.md" %} | ||
This file was deleted.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| Every month we meet to discuss anything related to AntennaPod. From feature and enhancement suggestions by contributors, via usability questions and donation expense proposals, to branding updates. | ||
|
|
||
| We’ll discuss and announce the next topics, and report back on what we discussed on the forum. |
This file was deleted.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1 @@ | ||
| Always want to have the latest community call dates and times in your calendar? Then copy the URL and add it as a remote calendar in your calendar app. | ||
|
|
||
| Hope to see you! | ||
| Want to download the calendar file of this gathering, or subscribe to all our calls and meetings? | ||
|
keunes marked this conversation as resolved.
|
||
This file was deleted.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| <div class="modal fade" id="addToCalendarModal" tabindex="-1" aria-labelledby="addToCalendarModalLabel" aria-hidden="true"> | ||
| <div class="modal-dialog modal-dialog-centered"> | ||
| <div class="modal-content"> | ||
| <div class="modal-header"> | ||
| <h5 class="modal-title" id="addToCalendarModalLabel">{% t events.links.add-calendar %}</h5> | ||
| <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> | ||
| </div> | ||
| <div class="modal-body"> | ||
| {% tf general/events-add-calendar-modal.md %} | ||
| </div> | ||
| <div class="modal-footer border-0 pt-0"> | ||
| <button type="button" class="btn btn-secondary" onclick="copyUrl(event);" data-bs-toggle="tooltip" data-bs-trigger="manual" data-bs-title="{% t generic.accessibility.copied %}" data-copy-url="{{ calendar_subscription_url }}">{% t events.general.subscribe-all %}</button> | ||
| {% comment %} | ||
|
keunes marked this conversation as resolved.
|
||
| Disabled: Davis does not yet support event-specific subscription links | ||
| See https://github.com/tchapi/davis/issues/260 | ||
| {% if page.recurring == true -%} | ||
| <button type="button" class="btn btn-primary" onclick="copyUrl(event);" data-bs-toggle="tooltip" data-bs-trigger="manual" data-bs-title="{% t generic.accessibility.copied %}" data-copy-url="{{ event_subscription_url }}">{% t events.general.subscribe-event %}</button> | ||
| {%- elsif page.uid %} | ||
| <a role="button" class="btn btn-primary" href="{{ event_ics_url }}">{% t events.general.download-ics %}</a> | ||
| {%- endif %} | ||
| {% endcomment %} | ||
| <a role="button" class="btn btn-primary" href="{{ event_ics_url }}">{% t events.general.download-ics %}</a> | ||
| </div> | ||
| </div> | ||
| </div> | ||
| </div> | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| {%- if page[link.key] or link.key == 'calendar-path' -%} | ||
| {%- unless link.key == 'location' and page.location == 'online' -%} | ||
| {%- unless link.key == 'meeting-room' and page.location != 'online' -%} | ||
| {%- unless link.key == 'meeting-room' and status == 'past' -%} | ||
| {%- unless link.key == 'calendar-path' and page.recurring != true and page.uid == nil -%} | ||
| {%- unless link.key == 'calendar-path' and status == 'past' -%} | ||
| 1 | ||
| {%- endunless -%} | ||
| {%- endunless -%} | ||
| {%- endunless -%} | ||
| {%- endunless -%} | ||
| {%- endunless -%} | ||
| {%- endif -%} |
Uh oh!
There was an error while loading. Please reload this page.