emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Nick Dokos <nicholas.dokos@hp.com>
To: Carsten Dominik <carsten.dominik@gmail.com>
Cc: nicholas.dokos@hp.com, emacs-orgmode@gnu.org,
	Charles Cave <charles_cave@optusnet.com.au>
Subject: Re: Looking for a sample function to find a location for org-capture
Date: Thu, 12 Aug 2010 07:42:40 -0400	[thread overview]
Message-ID: <8214.1281613360@gamaville.dokosmarshall.org> (raw)
In-Reply-To: Message from Carsten Dominik <carsten.dominik@gmail.com> of "Thu, 12 Aug 2010 12:06:10 +0200." <7D5F4098-7222-4B24-B52E-60A00E576130@gmail.com>

Carsten Dominik <carsten.dominik@gmail.com> wrote:

> 
> On Aug 12, 2010, at 3:30 AM, Charles Cave wrote:
> 
> > I'm exploring the many features of org-capture and I see the
> > documentation about a function for finding the location for refiling.
> 
> What exactly are you referring to?
> 
> >
> > I would like to see some sample code on how to do this.
> >
> > At the moment I am using a date tree to file my TODO items and
> > notes. (I am writing an article about this and will publish soon)
> >
> > Let's say I had a headline structure for weeks of the year and I would
> > like a function to add an item to the heading corresponding to the
> > week
> > of the year. Today (12th Aug) we are in Week 32.
> >
> > What would the function be to file under the appropriate heading:
> >
> > * 2010
> > ** 2010-Week-28
> > ** 2010-Week-29
> > ** 2010-Week-30
> > ** 2010-Week-31
> > ** 2010-Week-32
> > ** 2010-Week-33
> >
> > Could the function create the heading if it didnt exist . just like
> > org-capture handles creation of new brances on a date tree?
> 
> Well, the datetree is a special library that does create the
> headings for a date tree.  If you want a different structure
> (weeks instead of months), code for this would have to be written, and
> I guess org-capture would have to be extended to call this code.
> But I am not sure if I understand what you are asking.
> 

I think Charles is referring to the following in org-capture-templates's
doc string:

,----
|              (file+function "path/to/file" function-finding-location)
|                  A function to find the right location in the file
| 
|              ...
| 
|              (function function-finding-location)
|                 Most general way, write your own function to find both
|                 file and location
`----

I tried using the first (in a very simple minded way) but it was late last
night, I was tired and I couldn't get it to work in five minures, so I gave
up:

(WARNING: DOES NOT WORK)
,----
| (setq org-capture-templates
| '(...
|   ("X" "Experimental function for Charles Cave" entry (file+function "~/lib/org/charles.org" cc-date-tree) "* DONE %?
|   %U %a" :prepend t)
|   ...
|   ))
| 
| (defun cc-date-tree ()
|   (let ((year 2010)
|         (weeknum 32))
|     (format "%4d-Week-%2d" year weeknum)))
`----
(WARNING: DOES NOT WORK)

So maybe I have it completely wrong, maybe this is close, but at this
point I just don't know.

Also, I saw in the doc string the following:

,----
|              (file+datetree "path/to/file")
|                  Will create a heading in a date tree
`----

which might do exactly what Charles wants in this case, without having
to write a function? But I have no idea how datetrees work, so this
too might be off.

Thanks,
Nick

  reply	other threads:[~2010-08-12 11:42 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-12  1:30 Looking for a sample function to find a location for org-capture Charles Cave
2010-08-12 10:06 ` Carsten Dominik
2010-08-12 11:42   ` Nick Dokos [this message]
2010-08-12 14:37 ` Bastien
2010-08-12 23:11   ` Charles Cave

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8214.1281613360@gamaville.dokosmarshall.org \
    --to=nicholas.dokos@hp.com \
    --cc=carsten.dominik@gmail.com \
    --cc=charles_cave@optusnet.com.au \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).