Ihor Radchenko <yanta...@posteo.net> writes:

> CCing the maintainer.

Thanks Ihor. This issue dovetails nicely with the other recent iCalendar
issue [1] that I am still looking into (sorry for the tardiness)

> In theory, you should be able to do something like
>
> #+ICALENDAR_VCALENDAR: X-MICROSOFT-CDO-INTENDEDSTATUS:FREE
> or an equivalent export snippet, but ox-icalendar does not support such
> thing. I believe that it should be considered a bug - we should provide
> some means to produce text to be exported verbatim from inside Org files.

Yes I agree we should support this functionality. I see two basic ways:
first, as you suggest

#+ICALENDAR_VEVENT: X-MICROSOFT-CDO-INTENDEDSTATUS:FREE

Or alternatively,

#+begin_export icalendar
X-MICROSOFT-CDO-INTENDEDSTATUS:FREE
#+end_export

We could follow the example of the latex exporter which supports both
usages.

However I am not sure we can simply export verbatim -- we may need to
add additional checks. In particular various Org properties or special
keywords may also be exported as iCal properties (e.g. SCHEDULED as
DTSTART, or TODO as STATUS:NEEDS-ACTION), and we may want to handle
duplicate behavior -- for example, by default TODO could be exported as
STATUS:NEEDS-ACTION unless explicitly overridden by #ICALENDAR_STATUS
(this is also related to the discussion in [1]).

We could possibly use icalendar.el to parse the icalendar export
blocks/keywords to check for duplicate properties. icalendar.el provides
many useful parsing functions, though some are private methods
(e.g. icalendar--get-event-property) and may need to be copied (or we
could consider asking emacs-devel to make those methods public).

[1] https://list.orgmode.org/87r0cmu7lc.fsf@localhost/T/#t

Reply via email to