2010-04-05 8 views
10

Ich versuche, die „Geburtstag“ und „Name“ Eigenschaften eines Org-Modus Eintrag hinzugefügt haben automatisch auf die Tagesordnung:Emacs Org-Modus: Wie man Eigenschaften in Jahrestage einbezieht?

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

ich einen Weg gefunden, einen Eintrag in der richtigen Jahrestag in der hinzufügen Agenda durch Einfügen der folgenden Zeile direkt nach den Eigenschaften:

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

Allerdings, mit diesem Code muss ich noch den Namen manuell eingeben. Gibt es eine Möglichkeit, den Wert der Eigenschaft "Name" für alle Einträge automatisch dem Tagebuchtext hinzuzufügen?

EDIT 1: das Beispiel nicht vor funktioniert hat, jetzt hinzugefügt Klammern um den Wert der Geburtstag Eigenschaft

Antwort

3

Vielleicht https://julien.danjou.info/projects/emacs-packages#org-contacts ist die Lösung für Ihr Problem. org-contacts ist ein Adressbuch für den Organisationsmodus.

+0

Seit dem 2011-05-17 zeigt der Link für org-Kontakte nicht mehr, wie Sie in erhalten. Die Webseite sagt derzeit, dass sie mit org-mode Version> 7.5 ausgeliefert wird, aber die aktuelle Version von org-mode ist 7.5 – huyz

+0

Entschuldigung Ich habe deinen Kommentar nicht früher gesehen. Org-Modus 7.6 wurde am 6. Juli veröffentlicht. Vorher wäre es nur möglich gewesen, die [org-mode repo] zu klonen (http://orgmode.org/w/org-mode.git): 'git clone git: // orgmode.org/org-mode.git'. – Michael

+0

Dann wechseln Sie in den Repo 'cd org-mode' und erstellen Sie den org-mode:' make clean && make'. Als letzten Schritt müssen Sie Emacs über den Org-Modus-Repo informieren. Put '(setq load-pfad (cons)/pfad/zu/repo/org-mode/lisp" (cons "/ pfad/zu/repo/org-mode/contrib/lisp" laden-pfad)) 'und' (require 'org-contacts) 'zu deinen ** ~/.emacs **. – Michael

3

Es ist wahrscheinlich besser, dies am Org mailing list zu fragen, sie sind sehr aktiv, und Carsten Dominik (der Ersteller von org-mode) antwortet in der Regel fast sofort auf diese Liste (BTW, this ist die Haupt-Liste E-Mail.

+0

Ich war schon auf die Liste gekommen. Ihr Vorschlag ist gut, obwohl es ein Kommentar zu meiner Frage hätte sein sollen. – lecodesportif

1

Vielleicht Sie ein Pfad, der Sie Lisp zu schreiben, um zu bekommen, was Sie wollen. Die org -Modus-Handbuch gibt ein Beispiel für etwas ähnliches, aber ich vermute, Sie wollten ein einfacheres Format, wenn es den Kalender/Agen beschreibt Integration da 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 

Ich würde denken, Sie haben andere Optionen, wenn Sie eine benutzerdefinierte Installation wollen: entweder eine neue Art von Export oder dynamische Blöcke verwendet werden könnten. Dies kann den unterschiedlichen Anwendungsfall der Agenda gegenüber dem Tagebuch hervorheben. Die Agenda scheint eher auf alltägliche Aufgaben ausgerichtet zu sein.

+0

Das kommt dem nahe, was ich bereits mache und was ich in meiner Frage zu beschreiben versuchte. Ich hätte gerne die Namen "Arthur Dent" und "Mahatma Gandhi" automatisch in die Agenda eingefügt, indem ich den Wert der Eigenschaft "Name" extrahiert habe. – lecodesportif

Verwandte Themen