sportclimbing / ifsc-calendar

IFSC Climbing iCal Calendar Builder
https://ifsc.stream/
MIT License
30 stars 1 forks source link
calendar calendars climbing competition ical icalendar ics ifsc rockclimbing scraper streaming

IFSC Climbing Calendar and Live-Streams for 2024

ifsc logo

downloads scrutinizer update build

πŸ“– TL;DR

This automatically generates an up-to-date calendar you can subscribe to using your favorite calendar app, to never miss an IFSC climbing event ever again. Currently supported formats are .ics (iCal) and json.

How?

Copy and paste this calendar URL https://calendar.ifsc.stream into your calendar subscriptions, and it will automatically sync with your device. This works on iPhone, Google Calendar, Proton Calendar, etc... This should keep you updated on future seasons as well.

Take a look at the setup guides for help.

πŸ–₯️ Web Version

Additionally, the calendar data is exported as JSON and can be viewed on this automatically updated website:

πŸ‘‰ https://ifsc.stream

(From there you can also subscribe to the calendar with just a few clicks!)

πŸ‘‹ Intro

If you're constantly missing IFSC events because of a lacking calendar, or timezone confusions, then you're at the right place.

This command line tool uses IFSC's APIs, plus some scraping (because the available APIs don't provide precise schedules) to generate an always up-to-date calendar with all necessary info.

⭐️ Features

calendar

πŸ›  Usage

Docker

Using the pre-built Docker image

$ docker run -it --volume "$PWD:/calendar" \
    ghcr.io/sportclimbing/ifsc-calendar:latest \ 
    --season 2024 \
    --output "/calendar/ifsc-calendar.ics"

[!NOTE] All Docker images can be found on


Build Docker image locally

Build Docker image

$ docker build --tag ifsc-calendar .

Generate .ics calendar file

$ docker run -it --volume "$PWD:/calendar" ifsc-calendar \
    --season 2024 \
    --output "/calendar/ifsc-calendar.ics"

Generate .json calendar file

$ docker run -it --volume "$PWD:/calendar" ifsc-calendar \
    --season 2024 \
    --output "/calendar/ifsc-calendar.json" \
    --format json

Export multiple formats

$ docker run -it --volume "$PWD:/calendar" ifsc-calendar \
    --season 2024 \
    --output "/calendar/ifsc-calendar.json" \
    --format json,ics

Build app locally (without Docker)

Build executable

$ make

Generate .ics calendar file using the generated .phar

$ ./build/ifsc-calendar.phar \
  --season 2024 \
  --output "ifsc-calendar.ics"

πŸ”§ Todo

Requirements

Legal note

This is in no way affiliated with, or endorsed by the IFSC.