emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] Manipulating Dates Automatically in a Headline


From: John Kitchin
Subject: Re: [O] Manipulating Dates Automatically in a Headline
Date: Thu, 14 Aug 2014 21:14:02 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (darwin)

Matt Price <address@hidden> 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 <address@hidden> 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



reply via email to

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