emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Alternate format for datetree


From: Nick Dokos
Subject: Re: [O] Alternate format for datetree
Date: Mon, 27 Aug 2012 00:04:07 -0400

John Hendy <address@hidden> wrote:

> On Sun, Aug 26, 2012 at 3:11 PM, c b <address@hidden> wrote:
> > Hi,
> >
> > I have been using org-mode for about 18 months now and love it. I recently
> > came across the org-capture file+datetree format and it is just what I am
> > looking for, except that I need a slightly different format described as
> > below
> >
> > Currently format is
> >
> > * 2012
> > ** 2012-08
> > *** 2012-08-26 Sunday
> > **** [2012-08-26 Sun 13:00] My note for this Sunday afternoon
> >
> > Needed format is
> >
> > * 08
> > ** 26
> > *** 2012 Sunday
> > **** [2012-08-26 Sun 13:00] My note for this Sunday afternoon
> >
> > Basically, I need to have the "root" of the date tree on the month, followed
> > by date and then Year, so that for a particular date, I can see all yearly
> > activity.
> >
> > Is there currently a way to alter this?
> >
> > If not, how would I go about adding a file+monthtree format for org-capture?
> >
> > Any suggestions would be appreciated
> 
> I was looking for something similar and someone provided a custom
> capture template that allowed for using inactive timestamps vs. the
> default datetree format.
> 
> See the example provided here:
> - http://osdir.com/ml/emacs-orgmode-gnu/2012-08/msg00396.html
> 
> I fiddled with this a bit, not really being familiar and learned a
> good bit in the process to achieve your desired format. Give this a
> try:
> 
> #+begin_src .emacs
> (setq org-capture-templates
> `(("t" "test" entry
> (file+headline "~/file.org"
> ,(format "%s"
> (format-time-string "%m")))
> ,(format "** %s \n*** %s-%s \n**** [%s-%s-%s %s %s:%s] "
> (format-time-string "%d")
> (format-time-string "%Y")
> (format-time-string "%A")
> (format-time-string "%Y")
> (format-time-string "%m")
> (format-time-string "%d")
> (format-time-string "%a")
> (format-time-string "%H")
> (format-time-string "%M"))
> )))
> #+end_src
> 
> One thing I couldn't figure out was how to insert a %? after that
> second long format option. If I just put in %?, loading .emacs caused
> the error "Not enough arguments to format" or something like that. I'm
> sure there's some secret elisp escape syntax I just don't know. I
> tried various combinations of \ and '("") with no success.
> 

Try

--8<---------------cut here---------------start------------->8---
,(format "** %s \n*** %s-%s \n**** [%s-%s-%s %s %s:%s] %%?"
--8<---------------cut here---------------end--------------->8---

You basically need to escape the % from being interpreted by format.
C-h f format RET says

,----
| ...
| Use %% to put a single % into the output.
| ...
`----

Nick

> That'd put the finishing touch on things so your cursor was where you wanted 
> it.
> 
> Also, for those seeing this... is this how you would accomplish c.b's
> goal? I just used the sample provided to me in the earlier mailing
> list email to see if I was up for the challenge, but I have no basis
> for knowing whether it's a good solution.
> 
> 
> Hope that helps!
> John
> 
> >
> > Kindly copy me on the response as I am not subscribed to this mailing list.
> >
> > Thanks,
> > c.b.
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]