Question

I am trying to have the "Birthday" and "Name" properties of an Org-mode entry added to the agenda automatically:

* John
  :PROPERTIES:
  :Name: John
  :Birthday: (5 4 1900)
  :END:

I found a way to add an entry at the correct anniversary date in the agenda by inserting the following line right after the properties:

%%(apply 'diary-anniversary (read (org-entry-get nil "Birthday"))) John

However, using this code, I still have to enter the name manually. Is there a way to have the value of the "Name" property added to the diary text automatically for all entries?

EDIT 1: the example did not work before, now added parantheses around the value of the birthday property

Was it helpful?

Solution

Maybe https://julien.danjou.info/projects/emacs-packages#org-contacts is the solution to your problem. org-contacts is a address book for org-mode.

OTHER TIPS

It is probably better to ask this at the Org mailing list, they are very active, and Carsten Dominik (the creator of org-mode) usually answers posts on this list almost immediately (BTW, this is the main list email.

Perhaps you a taking a path which requires you to write some lisp to get what you want. The org-mode manual gives an example of something similar, but I'm guessing you wanted a simpler format, when it describes the calendar/agenda integration http://www.gnu.org/software/emacs/manual/html_node/org/Weekly_002fdaily-agenda.html

* Birthdays and similar stuff
 #+CATEGORY: Holiday
 %%(org-calendar-holiday)   ; special function for holiday names
 #+CATEGORY: Ann
 %%(diary-anniversary 14  5 1956) Arthur Dent is %d years old
 %%(diary-anniversary  2 10 1869) Mahatma Gandhi would be %d years old

I would think you have other options if you want a custom setup: either a new type of export or dynamic blocks might be used. This may highlight the different use-case of agenda over the diary. The agenda seems more geared towards day to day tasks.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top