emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Dan Griswold <dgriswol@rochester.rr.com>
To: emacs-orgmode@gnu.org
Subject: Re: iCal export and complex diary sexps
Date: Thu, 15 Jul 2010 15:31:08 -0400	[thread overview]
Message-ID: <87y6dctudf.fsf@rochester.rr.com> (raw)
In-Reply-To: 87tyo1p6j4.fsf@gmx.ch

On 15 Jul 2010, sven.bretfeld@gmx.ch wrote:

> There was a thread about this some weeks ago. The iCal export does not
> support org-diary-class entries or other complex diary sexps.

I missed that thread, but it's an issue I looked into some time ago,
with regard to sexps. The basic issue is that org-export-icalendar-*
calls icalendar.el, which currently does not support the export of
complex sexps.

In other words, it doesn't do much good for us to say that Org ought to
export these things to ical, because the feature is missing not from org
but from a completely different package.

I, too, wish the feature was available. But there's no point in
complaining here about it. I hope that Ulf Jasper (the author of
icalendar.el) is working on this problem. The package appears to
be in active development, but I can't confirm that.

So, assuming the best, others are working on what is truly not a trivial
problem. I looked at the ical specification, and it made my brain
hurt. It is very complex to program in a conversion of sexp to the ical
format. I'd rather that Carsten and others working actively on org-mode
not be distracted by a puzzle that is really not central to org's
functionality or purpose.

Perhaps org-explort-icalendar could (for the elisp savvy) easily support
org-diary-class, but at this stage, with the limitations of
icalendar.el, it would only be elementary support, because the function
appears to be a nifty way of specifying what (diary-block) does, but
without the option of "skip". To program in more than this gets us right
back to the fundamental problem, the lack of the needed feature in
icalendar.el.

> I want to ask if anybody has a workaround on this issue in the
> meantime. For example, it could possibly be solved by an
> after-export-hook that scans org-files for org-diary-class, converts
> the relevant entries to the iCal format and appends them to the ics
> file.

My way of handling this was to create a file with certain important
recurring events in ical format (these happen on the second Tuesday and
the second Thursday, those good sexp candidates). I have a function that
appends this file to the file icalendar-export-file creates, and have
all this tied in by a function called by after-save-hook. Something
similar, I'm sure, could be done for org-export-icalendar-*



-- 
--------------
Dan Griswold
Rochester, NY
--------------

  reply	other threads:[~2010-07-15 19:31 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-15  7:07 iCal export and complex diary sexps Sven Bretfeld
2010-07-15 19:31 ` Dan Griswold [this message]
2010-07-23 10:00   ` Sven Bretfeld
2010-07-23 21:05     ` Daniel Martins
2010-08-07  6:55       ` Carsten Dominik
2010-08-08 14:35         ` Daniel Martins

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87y6dctudf.fsf@rochester.rr.com \
    --to=dgriswol@rochester.rr.com \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).