On Fri, Feb 11, 2011 at 2:34 AM, Carsten Dominik
<carsten.dominik@gmail.com> wrote:
On Feb 9, 2011, at 1:29 AM, John Hendy wrote:
An alternative to using the :noexport: tag, and also to
the other suggestions given here in this thread would
be to use `org-map-entries' to physically remove all
subtrees which match your condition.
And this physically removes the TODOs from the "blob" being exported, not from my .org files, right? If so, perhaps that would be an option. Strip it from the stream headed for export.
Thanks for giving the code.
John
You can call the
mapper from one of the preprocessing hooks:
(defun my-export-remove-TODO ()
(org-map-entries
;; The following form will be evaluated at each matching tree
'(progn
(outline-mark-subtree) ; mark tree
(delete-region (point) (mark))) ; remove it
;; Now the tags/property/todo matcher to select trees
"LEVEL<15+TODO={.}"
))
;; Call this after other tree selection has been processed
(add-hook 'org-export-preprocess-after-tree-selection-hook
'my-export-remove-TODO)
The matcher includes a LEVEL<15 test to make sure this will
not mess with inline tasks.
Export preprocessor hooks are a good place for such tasks.
Also Nick's proposal could be used in such a hook, but not
the same hook as I have used above. Maybe in
org-export-preprocessor-after-include-files-hook.
- Carsten
Or simply add the TODO category to the noexport category altogether?
I haven't turned up anything quite along these lines. One post suggested using "TODO keyword COMMENT" [1], but that just seems to perhaps exclude from export (didn't try) but I know for sure it removes it from agenda view. I want TODOs in agenda but don't want them showing up with my LaTeX export. I typically print out my work to-date each month or so and have to comb through my org file for that month, manually adding :noexport: to my TODOs. Even if I still do this for a few things here and there... it will save me a lot of time.
I suppose I could keep a separate "TODO.org" file, but I really like the process of being able to add them anywhere -- it seems more natural to do that in the flow, particularly in meetings, than to constantly switch buffers or even use remember to keep sending things related to the current topic away to their own island.
I'm 80% confident that the answer is ridiculously simply and I just haven't searched the right thing. Thanks for enlightening me!
Thanks,
John