[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] org-class and headers
From: |
Rasmus |
Subject: |
Re: [O] org-class and headers |
Date: |
Thu, 23 Oct 2014 12:10:09 +0200 |
User-agent: |
Gnus/5.130012 (Ma Gnus v0.12) Emacs/24.3.94 (gnu/linux) |
Joseph Le Roux <address@hidden> writes:
> Eric S Fraga <address@hidden> writes:
>
>> On Tuesday, 21 Oct 2014 at 16:47, Joseph Le Roux wrote:
>>> Rasmus <address@hidden> writes:
>>
>> [...]
>>
>>>> Will `org-clone-subtree-with-time-shift' do what you want?
>>>>
>>>
>>> Thanks for the pointer, it could be very handy in my use-case, but this
>>> function copies the org-class as is for all clones. I would like to
>>
>> The idea is to use the clone function and not the org-class
>> expression. Combining the two simply confuses things!
>>
>> What I do every start of term is define an entry for each lecture slot
>> in a week including the actual time information, lecture theatre,
>> etc. I then clone each individual entry using +1w for the number of
>> weeks in the term. I remove any subtrees generated that correspond to
>> lectures that do not actually exist, e.g. they fall on a holiday or
>> during our study week.
>>
>> Later, if an individual lecture gets cancelled, I simply remove the
>> corresponding subtree as I do for holidays etc.
>
> Thank you Eric, I'll follow the advice. As Rasmus showed,
> 'org-clone-subtree-with-time-shift' works with a timestamp, but it does
> not with (the result of) an org-class call. Ideally, what I would like
> to do is to specify a set of classes using org-class syntax and, as a
> result, get a set of headers. 'org-class' is a powerful tool, but just
> not powerful enough yet...
I have used to use classes in the past, but I now use a setup close to
Eric's. One reasons is for good org-caldav support. Here's how I
schedule my Spanish classes this term:
(with-temp-buffer
(insert "* Spanish course
** Spanish class
<2014-10-07 Tue 18:30-20:30>")
(goto-line 2)
(org-clone-subtree-with-time-shift 8 "+1w")
(save-excursion (insert "** Spanish class
<2014-10-09 Thu 18:30-20:30>\n"))
(org-clone-subtree-with-time-shift 7 "+1w")
(goto-char (point-min)) (org-sort-entries nil ?t)
;; like C-c ^ t
(buffer-substring-no-properties (point-min) (point-max)))
Of course in practice, this is easier to "interactively", but it's
hard to describe briefly.
Is there anything you miss about `org-clone-subtree-with-time-shift'¹?
Would you be happy if it asked if you want to skip some weeks
initially? Or do you not like the extra space it takes?
—Rasmus
Footnotes:
¹ note the "`" in the beginning, not "'"
--
Bang bang