John Hendy <jw.he...@gmail.com> wrote: > I'm sure this is trivial, but I'm missing it. > > If I use file+olp to try something like this > > #+begin_src .emacs > (setq org-capture-templates > `(("c" "clock" entry (file+olp "~/org/clocking.org" > ,(format "%s" > (format-time-string "%Y")) > ,(format "%s" > (format-time-string "%B"))) > "*** %? %^G \n %u" :clock-in t :clock-result t))) > #+end_src > > I get an error that the headline doesn't exist. But if I do it like this: > > #+begin_src .emacs > (setq org-capture-templates > `( ("a" "clock2" entry (file+headline "~/org/clocking.org" > ,(format "%s" > (format-time-string "%Y"))) > ,(format "** %s \n*** %%? %%^G \n %%u" > (format-time-string "%B")) > :clock-in t :clock-resume t))) > #+end_src > > Then if I run this a few times, I get this: > > ,--- ~/org/clocking.org --- > | * 2012 > | ** August > | *** test > | [2012-08-31 Fri] > | ** August > | *** test2 > | [2012-08-31 Fri] > `---------------------------------- > > So... one won't create a new headline, and the other creates a > duplicate if there's another of the same type there. The second makes > sense since I'm passing a string to use for the entry... it just takes > that string and inserts it where I told it. But is there a way to make > file+olp make a new headline if it doesn't exist? Or another way to do > this? >
Can't you just pre-make the relevant structure in the file? --8<---------------cut here---------------start------------->8--- * 2012 ** August ** September ** October ... --8<---------------cut here---------------end--------------->8--- Then the relevant headings are going to be present. Nick