org-contacts: added custom org-contacts-birthday-format
Signed-off-by: Rüdiger Sonderfeld <ruediger@c-plusplus.de> Signed-off-by: Julien Danjou <julien@danjou.info>
This commit is contained in:
parent
2f0d7e94dd
commit
6e66e4a769
1 changed files with 12 additions and 1 deletions
|
@ -59,6 +59,16 @@ If set to nil, all your Org files will be used."
|
|||
:type 'string
|
||||
:group 'org-contacts)
|
||||
|
||||
(defcustom org-contacts-birthday-format "Birthday: %l (%Y)"
|
||||
"Format of the anniversary agenda entry. The following replacements are available:
|
||||
|
||||
%h - Heading name
|
||||
%l - Link to the heading
|
||||
%y - Number of year
|
||||
%Y - Number of year (ordinal)"
|
||||
:type 'string
|
||||
:group 'org-contacts)
|
||||
|
||||
(defcustom org-contacts-last-read-mail-property "LAST_READ_MAIL"
|
||||
"Name of the property for contact last read email link storage."
|
||||
:type 'string
|
||||
|
@ -263,6 +273,7 @@ Format is a string matching the following format specification:
|
|||
%Y - Number of year (ordinal)"
|
||||
(let ((calendar-date-style 'american)
|
||||
(entry ""))
|
||||
(unless format (setq format org-contacts-birthday-format))
|
||||
(loop for contact in (org-contacts-filter)
|
||||
for anniv = (let ((anniv (cdr (assoc-string
|
||||
(or field org-contacts-birthday-property)
|
||||
|
@ -272,7 +283,7 @@ Format is a string matching the following format specification:
|
|||
(org-time-string-to-absolute anniv))))
|
||||
;; Use `diary-anniversary' to compute anniversary.
|
||||
if (and anniv (apply 'diary-anniversary anniv))
|
||||
collect (format-spec (or format "Birthday: %l (%Y)")
|
||||
collect (format-spec format
|
||||
`((?l . ,(org-with-point-at (cadr contact) (org-store-link nil)))
|
||||
(?h . ,(car contact))
|
||||
(?y . ,(- (calendar-extract-year date)
|
||||
|
|
Loading…
Reference in a new issue