On Jun 22, 2010, at 9:45 PM, Tassilo Horn wrote:
Hi,
as already said, I really like the new org-capture interface. But
there's one thing concerning the templates, which might be optimized a
bit.
I want to add certain information accessible with template escapes as
properties. So as an example, I have a template like this:
("t" "TODO" entry
(file "/home/horn/repos/org/remember.org")
"* TODO %?\n :PROPERTIES:\n :created: %U\n :link: %a\n :END:\n
%i")
The creation date %U is always there, so that's no problem. But the
link accessible with %a may be nil. Then, I really don't want to
have a
:link: property. Currently, I simply delete that line before filing
the
item. That's a bit inconvenient, and that I have to deal with
indentation in the template is another inconvenience. And it won't
work
when my capture template doesn't create a new entry, but appends to an
existing one. In that case, properties should be appended to existing
properties, too.
So what I would love to see was a possibility to have property
escapes,
which use the property API and only add properties that have a value.
Then the property API would handle the correct indentation and
everything else.
James wrote to me that he will try to adapt his template-filling code
so that org-capture can use it. Among other things, this will make use
of the normal property API, and it will make the entire template stuff
extensible so that you can even write your own special functions.
This will be very useful, I am looking forward to a lot.
Maybe, a good syntax would be %:propname:X, where X is one of the
normal
escapes without the leading %. Then I could write the template above
like that:
("t" "TODO" entry
(file "/home/horn/repos/org/remember.org")
"* TODO %?\n %i %:created:U %:link:a")
Well, I don't really care about the syntax. Maybe it's better to
specify properties outside the template, because they won't be
inserted
at the exact position defined in the template anyway, especially if
type
is not 'entry. So how about something like that:
("t" "TODO" entry
(file "/home/horn/repos/org/remember.org")
"* TODO %?\n %i"
:properties (("created" "%U")
("link" "%a")))
His looks very good. James, are you seeing this? THis would be an
interesting way to specify values for some properties, and then prompt
for others.
- Carsten
_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode