My Journal was for a while built on top of org-journal , but I am finding it hard to work with these days, and I think returning to a 'vanilla' org-mode capture setup like my Practice Captures :
emacs-lisp source:(with-eval-after-load 'org-capture (add-to-list 'org-capture-templates (cce-def-dynamic-org-capture "jj" "Journal Entry" :name "daily" :target file :capture-path-tmpl "~/org/journals/%Y-%m-%d.org" :template-path "~/org/cce/captures/journal-capture.org")) (defun cce/open-journal (&optional goto) (interactive "P") (if goto (org-capture-goto-last-stored) (org-capture goto "jj"))) (evil-leader/set-key "j" #'cce/open-journal)) (setq org-roam-dailies-directory "journals/") (provide 'cce/journal)
org source: :tangle cce/captures/journal-capture.org :comments no* %U %?
Setting this up was a bit of a pain. org-capture-templates can do a lot of dynamic templating, but it's not quite enough -- I want to have the date encoded in the file name, I specifically want each week to be stored in its own file. So I have this function cce/update-journal-capture which removes the old capture template, and generates a new one, re-running at 03:00 each morning. I'll have to turn this in to a miniature library for my other Practice Captures . I think having them stored inside the daily files for the most part is a smart thing, except for things which I need to review over longer periods of time.
DONE org-protocol to capture things from browser in to journal
things not important enough to go in the archive on their own pages but still deserve an ID and a spot to be remembered.