Fraga, Eric writes:

> On Thursday,  9 Jan 2020 at 09:20, Sven Bretfeld wrote:
>> Hi everybody
>> Is this possible?
>> ** headline      <-- not exported
>>    :PROPERTIES:  <-- not exported
>>    Some content. <-- exported
> yes.  I do this all the time to add structure to a document, structure
> that is not required in the exported version.
> I have the following code:
> #+begin_src emacs-lisp
>   (defun esf/remove-lines-with-ignore-heading-tag (backend)
>     (message "Deleting lines with ignore heading tag")
>     (while (search-forward-regexp "^\\*+.*[ 
> \t]+[a-ZA-Z0-9:]*:ignoreheading:[a-ZA-Z0-9:]*$" (point-max) t)
>       (cond
>        ((eq backend 'latex) (replace-match "#+latex: % \\&" ))
>        ((eq backend 'html) (replace-match "#+html: <!-- \\& -->" ))
>        (t (replace-match ""))))
>     (message "... done deleting ignored headings."))
>   (add-hook 'org-export-before-processing-hook 
> 'esf/remove-lines-with-ignore-heading-tag)
> #+end_src
> which then causes any headline with the ignoreheading tag to be removed,
> leaving the subtree under that headline present.

Works like a charm! Almost perfect. Thank you very much. One problem:
For some reason the :ignoreheading: tag causes the PROPERTY drawer to be
exported. So every paragraph starts with the org-brain ID of the node. I
have the option prop:nil set in the file but it is ignored for nodes
containing the :ignoreheading: tag. Same for other properties like
CATEGORY. I saw properties unexpectedly exported already yesterday,
before I had your code. It went away after I inserted the prop:nil
option. But now it's back. Some changes in a recent update that I'm
unaware of?

> One caveat: the subtree content inherits behaviour from the previous
> headline.  For instance, if the previous headline was one that would not
> be exported at all, then this subtree will also not be exported.  E.g.:

This is fine for me.


Sven Bretfeld
Department of Philosophy and Religious Studies
NTNU Trondheim

Reply via email to