Another look at my Journal Capture Templates

More than anything else in my Emacs settings, my org-mode capture templates evolve with my understanding of Emacs, as I learn to do more wonderful things I didn’t know existed. Since I’ve been discussing my writing recently, it’s a good time I want to talk about the journal-related those, where all my writings begins.

If you’re new to Emacs org-mode, this code might not make sense, so please look up org-mode capture in the manual to get a better idea of what these are, and then come back here to get an idea of how these are put to use. Then, if you get stuck trying to connect the dots, ask me about it (see below in comments) and I’ll be happy to explain.

Here it is:

("j" "Journal Related")
	 ("jj" "Journal: Event" entry (file+datetree+prompt "~/Personal/") "**** About: %? %^G \n\n %U:\n" :tree-type week)
       ("je" "Journal: Elements" entry (file+datetree+prompt "~/Personal/") (file "~/Personal/") :tree-type week :jump-to-captured t)

What this bit of elisp does is to call an org capture sub-menu with two options: j and e. The key sequence will look like this:

  1. Hit C-c to call up org-mode capture
  2. From the menu that shows up, press “j” for the “Journal Related” option (that’s the part you actually see here).
  3. From that sub-menu, press “j” again for an event or “e” for elements.

To learn more about these sub-menus (the manual is very brief about those) look at this post.

I want to expand on the journal elements options here (“je”). I explained what my are elements before, but briefly, these are my foundations of self-care throughout the day. As you can see from the code above, I use a template file,, to call in further information. Here is the content of this file:

**** Yesterday's Elements                                          :elements:
%^{Sleep}p %^{Exercise}p %^{Food}p %^{Meditation}p

- Total: %?


***** Of Note:

Every morning, I write about the previous day. The elements are a good starting point that help me remember what happened and when. For example, I think of what I ate for lunch, and recall I had to take money out for the ATM around that time to get cash for an even later in the day. At that point, I create a footnote (for the event I remembered) and expand on it under the “Of Note:” section at the bottom of the template.

Later in the day, I open my journal file (I discussed my daily writing process a few days ago) and try to build a post around these notes, as I’m doing this very moment.

I recently realized two things:

  1. I only need one journal entry per day, which I can expand later. There’s no reason to attach a journal entry to my events on my agenda as I did previously; the events often contain all the notes in the body of the task already, under a timestamp.

  2. Reinforcing the second point: There’s no conflict of where to write notes. All notes relating to a task or an event are under those in the week’s org file. It’s more useful to link to these using a unique IDs from the journal, because then I also have the context of the whole project, including the other tasks, the time it happened, how long I worked on it, and other projects the task may link to. It’s all right there neatly for me.

Because the journal file has been going strong since 2018 (when I started using Emacs), I can always use my journal entries as a good reflection point on what happened in what day. When I need more details, these are just a link away1.


Reply to this post on Mastodon, or you can always email me: taonaw<at>protonmail<dot>ch (for GPG, click the lock icon on the navbar to the left).


  1. I only keep 10 weekly files connected to my agenda at a given time for speed purposes. If I find something in the journal that happened more than 10 weeks ago, I use Dired to go to my “Old archive” folder which is not indexed by org-mode agenda, and use rzgrep to find the term I’m looking for. rzgrep finds a list of words along with the weekly org-files they are in.

    If a certain link is broken (because these files' unique ID is not loaded to org-agenda anymore) I can look at the ID itself, which is a date (check the post I linked above explaining that), to know which week I’m looking for and which date exactly. ↩︎