I posted this question on stackexchange, but no response yet. Does anyone here have any ideas?
Like many of us, I use org-mode for two different things:
1. As a TODO list manager
2. As a text outliner
I'd like org-blank-before-new-entry to work differently based on context.
1. TODO list: no blank lines
2. text outline: automatically insert 1 blank line when non-heading text precedes a heading
In other words, when I'm doing a TODO list when I have many headings in a row, I don't want stray line breaks between them.
For TODO list mode, no blank lines:
#+BEGIN_EXAMPLE
** Organize Party
** TODO Call people
*** TODO Peter
*** DONE Sarah
** TODO Buy food
** DONE Talk to neighbor
#+END_EXAMPLE
However, when I'm writing text, I want line breaks for the sake of visual whitespace / ease of reading.
For outline mode, blank line before heading:
#+BEGIN_EXAMPLE
* Heading
This is a document that has a heading, and a body. The body will consist of two paragraphs with sub-headings.
* Body
This is an introduction to the body. The body has two sub-headings, each of which have their own paragraph.
** The First Paragraph
This is the first of two paragraphs.
** The Second Paragraph
This is the second of two paragraphs.
#+END_EXAMPLE
I've already set org-blank-before-new-entry to auto:
((heading . auto)
(plain-list-item . auto))
But I think org-blank-before-new-entry works by detecting other blank lines in the area. I want it to detect whether the preceding line of text is a heading or a non-heading.
How can I modify org-blank-before-new-entry so that when I'm in a TODO list consisting only of headings, org-meta-return doesn't add a line break? but after a block of text, it does?
Any thoughts? Thanks!