Организационный режим Emacs: как включить свойства в годовщину дневника?

Я пытаюсь автоматически добавить свойства «День рождения» и «Имя» записи организационного режима в повестку дня:

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

Я нашел способ добавить запись в правильную дату годовщины в повестке дня, вставив следующую строку сразу после свойств:

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

Однако, используя этот код, мне все равно придется вводить имя вручную. Есть ли способ, чтобы значение свойства «Имя» автоматически добавлялось в текст дневника для всех записей?

EDIT 1: пример не работал раньше, теперь добавлены круглые скобки вокруг значения свойства дня рождения.


person Community    schedule 05.04.2010    source источник


Ответы (3)


Возможно, https://julien.danjou.info/projects/emacs-packages#org-contacts — это решение вашей проблемы. org-contacts — это адресная книга для org-mode.

person Community    schedule 21.02.2011
comment
По состоянию на 17 мая 2011 г. ссылка на org-contacts не показывает, как войти. На веб-странице в настоящее время указано, что она поставляется с версией org-mode › 7.5, но текущая версия org-mode — 7.5. - person huyz; 17.05.2011
comment
Извините, я не видел ваш комментарий раньше. Org-mode 7.6 был выпущен 6 июля. Раньше единственным способом получить последнюю версию org-contacts было клонирование org-mode. репозиторий: git clone git://orgmode.org/org-mode.git. - person Michael; 13.07.2011
comment
Затем перейдите в репозиторий cd org-mode и соберите org-mode: make clean && make. В качестве последнего шага вы должны сообщить emacs о репозитории org-mode-repo. Поместите (setq load-path (cons "/path/to/repo/org-mode/lisp" (cons "/path/to/repo/org-mode/contrib/lisp" load-path)) и (require 'org-contacts) в свой ~/.emacs. - person Michael; 13.07.2011

Вероятно, лучше спросить об этом в списке рассылки организации, они очень активны , а Карстен Доминик (создатель org-mode) обычно отвечает на сообщения в этом списке почти сразу (кстати, это является основным списком адресов электронной почты.

person Dervin Thunk    schedule 22.01.2011
comment
Я уже наткнулся на этот список. Ваше предложение хорошее, хотя оно должно было быть комментарием к моему вопросу. - person lecodesportif; 28.01.2011

Возможно, вы идете по пути, который требует от вас написания шепелявости, чтобы получить то, что вы хотите. Руководство по организационному режиму дает пример чего-то подобного, но я предполагаю, что вы хотели более простой формат, когда он описывает интеграцию календаря/повестки дня 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

Я думаю, у вас есть другие варианты, если вы хотите индивидуальную настройку: можно использовать либо новый тип экспорта, либо динамические блоки. Это может подчеркнуть другой вариант использования повестки дня по сравнению с дневником. Повестка дня кажется более ориентированной на повседневные задачи.

person Community    schedule 06.02.2011
comment
Это близко к тому, что я уже делаю, и к тому, что я пытался описать в своем вопросе. Я хотел бы, чтобы имена Артура Дента и Махатмы Ганди автоматически вставлялись в повестку дня путем извлечения значения свойства Name. - person lecodesportif; 07.02.2011