Emacs Org-mode:如何在日记纪念日中包含属性?

时间:2010-04-05 23:59:32

标签: emacs properties calendar elisp org-mode

我正在尝试将组织模式条目的“生日”和“名称”属性自动添加到议程中:

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

我找到了一种方法,通过在属性后面插入以下行,在议程中的正确周年日期添加条目:

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

但是,使用此代码,我仍然需要手动输入名称。有没有办法让所有条目自动将“Name”属性的值添加到日记文本中?

编辑1 :示例之前没有工作,现在为生日属性的值添加了parantheses

3 个答案:

答案 0 :(得分:4)

最好在Org mailing list问这个问题,他们非常活跃,而且Carsten Dominik(组织模式的创建者)通常会立即回复此列表中的帖子(BTW,this是主要的电子邮件列表。

答案 1 :(得分:4)

也许https://julien.danjou.info/projects/emacs-packages#org-contacts是您问题的解决方案。 org-contacts是org-mode的地址簿。

答案 2 :(得分:2)

也许你走的路需要你写一些口齿以获得你想要的东西。组织模式手册给出了一个类似的例子,但我猜你想要一个更简单的格式,当它描述日历/议程集成时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

如果您想要自定义设置,我认为您还有其他选择:可以使用新类型的导出或动态块。这可能突出了议程与日记的不同用例。议程似乎更适合日常任务。