Стендап Сьогодні 📢 Канал в Telegram @stendap_sogodni

🤖🚫 AI-free content. This post is 100% written by a human, as is everything on my blog. Enjoy!

23.01.2023

Формат iCal генерується простіше простого

Сьогодні знову довелося генерувати графік відключень. Минулого разу я писав, що формат календаря iCal дуже простий, та для його генерації не потрібно ніяких бібліотек. Тепер покажу, як саме. Ось завершений приклад файлу .ics (завантажити):

BEGIN:VCALENDAR
VERSION:2.0

BEGIN:VEVENT
SUMMARY:Велика Подія
DTSTART:20230124
DTEND:20230126
UID:stendap_sogodni.event1
DTSTAMP:20230123T194432Z
END:VEVENT

END:VCALENDAR

Як бачите, його можна створити навіть вручну в текстовому редакторі (власне, так я і зробив.) Формат файлу являє собою перелік — починається та закінчується він рядками BEGIN:VCALENDAR та END:VCALENDAR, а всередині містить блоки подій - BEGIN/END:VEVENT. Звісно, опцій є багато — і посилання, і нагадування, і запрошення, і багато всього іншого. Ось є хороша документація по iCal. А я зазначу головні та необхідні.

Поля SUMMARY, DTSTART та DTEND позначають назву події, а також дати початку та кінця. Тут, думаю, всі знають, що це таке. Дати можуть бути як з часом, так і без.

Поля UID та DTSTAMP цікавіші та служать для редагування подій. UID має бути унікальним ідентифікатором. А DTSTAMP містить дату оновлення події, зазвичай — дату створення файлу. В сукупності завдяки цим двом значенням програма календаря може заміняти події на новіші версії.