From: John Kitchin <jkitchin@andrew.cmu.edu>
To: Matt Price <moptop99@gmail.com>
Cc: Org Mode <emacs-orgmode@gnu.org>
Subject: Re: Manipulating Dates Automatically in a Headline
Date: Thu, 14 Aug 2014 21:14:02 -0400 [thread overview]
Message-ID: <m2k36amu5h.fsf@andrew.cmu.edu> (raw)
In-Reply-To: <CAN_Dec_4j6aYoRm=w_vDunh6uPJ3ksep6Py-EuEg0boN=MOAMA@mail.gmail.com> (Matt Price's message of "Wed, 13 Aug 2014 09:37:05 -0400")
Matt Price <moptop99@gmail.com> writes:
I think this is approximately what you want:
#+BEGIN_SRC emacs-lisp
(defun insert-ts+1w ()
"Insert a timestamp at point that is one week later than the
last timestamp found in the buffer."
(interactive)
(let ((last-ts (car (last (org-element-map (org-element-parse-buffer) 'timestamp
(lambda (timestamp)
(org-element-property :raw-value timestamp)))))))
(insert last-ts)
(backward-char 2)
(org-timestamp-change +7 'day)
))
#+END_SRC
It is an interactive command you can run with M-x insert-ts+1w at the
point you want to insert the new headline.
> It's been a couple of days so I'll try restate this question more
> clearly. I'm hoping it's possible to do something like this:
>
> * Week one (<2014-09-09>)
> * Week two (EVALUATE A LISP EXPRESSION THAT INSERTS A TIMESTAMP ONE
> WEEK LATER THAN LAST TIMESTAMP FOUND IN BUFFER)
>
> I don't have much experience with babel so I'm not sure how to do
> this, but if it's possible I would love some hints. Thanks as always,
>
> Matt
>
>
> On Mon, Aug 11, 2014 at 2:20 PM, Matt Price <moptop99@gmail.com> wrote:
>> Hi Everyone,
>>
>> I've asked this before, but that was a year or two ago and am hoping
>> someone has an idea now, perhaps involving babel or something.
>>
>> every year at this time I rewrite a set of syllabi. I do a lot of
>> moving htings around while i'm oding it, and at the end I have to
>> enter a whole bunch of dates somewhat laboriously. I have headlines
>> that look about like either like this:
>>
>> -----------------
>> * Outline
>> ** Week 1: Topic Title (<2013-09-10>)
>> Longish Description
>> *** Reading
>> - Article 1
>> - Article 2
>> *** Lab
>> *** Notes
>> -----------------------------------
>>
>> or like this:
>> ----------------------
>> * Outline
>> ** Week 1: <2013-09-09>
>> *** Seminar: Technology and Society (<2013-09-10>)
>> *** Reading
>> - Article 1
>> - Article 2
>> *** Plenary: Global Citizenship (<2013-09-13>)
>> --------------------
>>
>> I would like to replace the timestamps with code that dynamically
>> generates timestamps based on the value either in the last sibling
>> headline, or the parent headline. It seems to me this ought to be
>> possible, but I'm not at all sure how to do it. i would really
>> appreciate any guidance. thanks!
>>
>> Matt
>
>
--
-----------------------------------
John Kitchin
Professor
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
http://kitchingroup.cheme.cmu.edu
prev parent reply other threads:[~2014-08-15 1:14 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-11 18:20 Manipulating Dates Automatically in a Headline Matt Price
2014-08-13 13:37 ` Matt Price
2014-08-13 19:29 ` Samuel Wales
2014-08-13 23:23 ` John Kitchin
2014-08-15 1:14 ` John Kitchin [this message]
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m2k36amu5h.fsf@andrew.cmu.edu \
--to=jkitchin@andrew.cmu.edu \
--cc=emacs-orgmode@gnu.org \
--cc=moptop99@gmail.com \
/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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.