This is a simple project whose aim is to automatically remind you of
important notes about projects you haven’t worked on in a while.
The way it works is that you add your context clues (gotchas, caveats,
important things to remember,…) to each heading as appropriate. When
you clock in on a heading, if it has been more than org-cc-days since
you last clocked in you get a buffer displaying the notes for your
current heading and all its parents.
Example:
The left window shows the org file and the right window shows the
context clues produced when org-cc-display-notes is called with the
point in the “Meet Strider” heading.
The main use case for this package is to provide a standard place where you can stash long notes about each entry without cluttering your main agenda file. If you have many sub-tasks in a project like the above case, you may be lost trying to find the notes pertaining to this task and its “context” (its ancestors). This package shows you the current heading in the context of its ancestors and any notes you have made pertaining to that context.
If you go with the suggested configuration below, this package can also check if you haven’t worked on a project in a while and automatically flash for you important ideas related to that project so you make sure you remember the key points before you pick up work again on that project.
It uses the same mechanism as org-attach to create a notes directory
for the heading (creating a uuid for the heading if needed). When you
call org-cc-edit-cc-file, it lets you edit the file cc.org in the
current heading’s notes directory.
If you invoke org-cc-display-notes, your heading is searched for clock entries (important: org-cc
searches for the LOGBOOK drawer; i.e., it assumes you have
org-log-into-drawer set to t) and if no clock entries are found or the
last clocked out entry was more than org-cc-days ago, it will display
the context clues.
To force the display of notes regardless of when you last worked on the heading you can:
- Set
org-cc-daysto 0 and callorg-cc-display-notes - Call
org-cc-display-noteswith a prefix argument
- Clone this repository
- In your init file, make sure you add
(add-to-list 'load-path "/path/to/org-cc")
(use-package org-cc
:ensure nil
:after org
:custom
(org-cc-directory (concat org-directory "org-cc")) ;; subdirectory of the heading's attachment directory
(org-cc-days 14)
:init
(add-hook 'org-clock-in-hook #'org-cc-display-notes)
(evil-leader/set-key
"k" (lambda () (interactive) (org-cc-edit-cc-file))
"x" (lambda () (interactive) (org-cc-display-notes t))))- [X] Allow overriding of
org-cc-daysfor each heading with a property
- The notes file is a full org file and its contents are currently inserted into the context clues buffer. If you add headings to it, they will not be nested under the org file’s headings but will be inserted as-is.