HCalendar
hCalendar (скорочення від HTML iCalendar) — мікроформат для представлення в (X)HTML-розмітці відомостей про події, що описані в iCalendar форматі. Використовує HTML класи та rel атрібути[1].
Такій спосіб дозволяє не тільки показувати календарні дані браузерами[2], а ще й застосувати інструменти для отриманні структурованої інформації для завантаження в спеціалізоване ПЗ керування календарями або в діаграми, виконувати інші різноманітні перетворення.
Структура
Вся інформація про подію має знаходиться в блоку, позначеному як клас vevent. В цей блок містить інші HTML теги з відповідними класами, що наведені нижче. Теги можуть мати додатковий параметр title, якщо значення для відображення надано в іншому форматі, ніж передбачено стандартом.
Обов'язкові параметри, які мають бути в будь-якому блоці vevent:
- dtstart — дата та час в форматі ISO 8601 початку події;
- summary — стислий опис.
Необов'язкові параметри, перелік неповний:
- location — адреса, де буде відбуватись подія;
- url — посилання на сторінку з детальним описом події;
- dtend — дата та час в форматі ISO 8601 закінчення події;
- duration — тривалість події, в форматі ISO 8601;
- rdate ;
- rrule ;
- category ;
- description — розширений опис події;
- uid — унікальний ідентифікатор;
- geo — координати події (latitude, longitude), що наведені в мікроформаті Geo.
Повний перелік атрибутів наведено в специфікації[3].
Приклад
Припустимо, потрібно поширити наступне оголошення про заплановану зустріч: Зустріч з питань вирішення ремонту відбудеться 10 лютого 2017 за адресою вул. Сімеренко 1Б
В форматі iCalendar буде виглядати наступним чином
BEGIN:VCALENDAR BEGIN:VEVENT UID:guid-1.host1.com DTSTAMP:20170103T201000Z DESCRIPTION:Зустріч з питань вирішення ремонту SUMMARY:Щодо поточного ремонту DTSTART:20170210T133000Z DTEND:20170210T143000Z LOCATION:вул. Сімеренко 1Б END:VEVENT END:VCALENDAR
Відповідно, в форматі hCalendar буде:
<div class="vevent">
<h3 class="summary">Щодо поточного ремонту</h3>
<p class="description">Зустріч з питань вирішення ремонту</p>
<p>To be held on
<span class="dtstart"> <abbr class="value" title="2017-02-10">2 лютого 2017</abbr>
з <span class="value">13:30am</span>
</span>
по <span class="dtend"><span class="value">14:30</span> </span>
</p>
<p>За адресою: <span class="location">вул. Сімеренко 1Б</span></p>
<small>Заплановано: <span class="uid">guid-1.host1.com</span> в
<span class="dtstamp">
<abbr class="value" title="2017-01-03">03 січня 2017р</abbr> о <span class="value">20:10</span>
</span>
</small>
</div>
Примітки
- http://microformats.org/wiki/hCalendar Специфікація мікроформату hCalendar
- http://microformats.org/wiki/browsers Перелік браузерів, що підтримують стандарти мікроформатів
- http://microformats.org/wiki/hcalendar-cheatsheet Стисла підказка з атрибутів формату