org-mode の TODO に CREATED 日付プロパティを追加する 質問する

org-mode の TODO に CREATED 日付プロパティを追加する 質問する

私は org-mode のマニュアルを読みましたが、新しく作成された TODO に CREATED フィールドを追加する簡単な方法を見つけることができませんでした。org-log-doneこれと組み合わせると、特定の TODO を閉じるのにかかった時間を計算できます。これは、アーカイブ ファイルを使用する場合に特に便利です。

例:

* TODO Do something
  CREATED:  [2012-09-02 Sun 23:02]
* DONE Do something else
  CREATED: [2012-09-02 Sun 20:02]
  CLOSED: [2012-09-02 Sun 22:02]

ファイルを保存するたびに、CREATED フィールドが新しいタスク (そのフィールドを持たないタスク) に追加されることを期待します。

これを実現する方法について何か提案はありますか? Git のようなものを使用することは、TODOS の作成を追跡するための解決策ではありません。

ベストアンサー1

その機能を実装するために、org の contrib ディレクトリにある org-expiry を使用します。

私が使用する基本構成は次のとおりです。

;; Allow automatically handing of created/expired meta data.
(require 'org-expiry)
;; Configure it a bit to my liking
(setq
  org-expiry-created-property-name "CREATED" ; Name of property when an item is created
  org-expiry-inactive-timestamps   t         ; Don't have everything in the agenda view
)

(defun mrb/insert-created-timestamp()
  "Insert a CREATED property using org-expiry.el for TODO entries"
  (org-expiry-insert-created)
  (org-back-to-heading)
  (org-end-of-line)
  (insert " ")
)

;; Whenever a TODO entry is created, I want a timestamp
;; Advice org-insert-todo-heading to insert a created timestamp using org-expiry
(defadvice org-insert-todo-heading (after mrb/created-timestamp-advice activate)
  "Insert a CREATED property using org-expiry.el for TODO entries"
  (mrb/insert-created-timestamp)
)
;; Make it active
(ad-activate 'org-insert-todo-heading)

キャプチャを使用している場合は自動的には機能しないため、少しの接着剤が必要です。完全な設定をここに投稿しました:出典: github.com

おすすめ記事