org: iCalendar export
12.12 iCalendar export
======================
Some people use Org mode for keeping track of projects, but still prefer
a standard calendar application for anniversaries and appointments. In
this case it can be useful to show deadlines and other time-stamped
items in Org files in the calendar application. Org mode can export
calendar information in the standard iCalendar format. If you also want
to have TODO entries included in the export, configure the variable
‘org-icalendar-include-todo’. Plain timestamps are exported as VEVENT,
and TODO items as VTODO. It will also create events from deadlines that
are in non-TODO items. Deadlines and scheduling dates in TODO items
will be used to set the start and due dates for the TODO entry(1). As
categories, it will use the tags locally defined in the heading, and the
file/tree category(2). See the variable ‘org-icalendar-alarm-time’ for
a way to assign alarms to entries with a time.
The iCalendar standard requires each entry to have a globally unique
identifier (UID). Org creates these identifiers during export. If you
set the variable ‘org-icalendar-store-UID’, the UID will be stored in
the ‘:ID:’ property of the entry and re-used next time you report this
entry. Since a single entry can give rise to multiple iCalendar entries
(as a timestamp, a deadline, a scheduled item, and as a TODO item), Org
adds prefixes to the UID, depending on what triggered the inclusion of
the entry. In this way the UID remains unique, but a synchronization
program can still figure out from which entry all the different
instances originate.
‘C-c C-e c f (org-icalendar-export-to-ics)’
Create iCalendar entries for the current buffer and store them in
the same directory, using a file extension ‘.ics’.
‘C-c C-e c a (org-icalendar-export-agenda-files)’
Like ‘C-c C-e c f’, but do this for all files in
‘org-agenda-files’. For each of these files, a separate iCalendar
file will be written.
‘C-c C-e c c (org-icalendar-combine-agenda-files)’
Create a single large iCalendar file from all files in
‘org-agenda-files’ and write it to the file given by
‘org-icalendar-combined-agenda-file’.
The export will honor SUMMARY, DESCRIPTION and LOCATION(3) properties
if the selected entries have them. If not, the summary will be derived
from the headline, and the description from the body (limited to
‘org-icalendar-include-body’ characters).
How this calendar is best read and updated, depends on the
application you are using. The FAQ covers this issue.
---------- Footnotes ----------
(1) See the variables ‘org-icalendar-use-deadline’ and
‘org-icalendar-use-scheduled’.
(2) To add inherited tags or the TODO state, configure the variable
‘org-icalendar-categories’.
(3) The LOCATION property can be inherited from higher in the
hierarchy if you configure ‘org-use-property-inheritance’ accordingly.