emacs-orgmode
[Top][All Lists]
Advanced

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

Re: Hiding a node title in export but not the content


From: Fraga, Eric
Subject: Re: Hiding a node title in export but not the content
Date: Thu, 9 Jan 2020 09:48:21 +0000

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.

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.:

#+begin_src org
  ,* heading 1
  Text that will be exported
  ,* heading 2                                :ignoreheading:
  Text that will also be exported but without the heading
  ,* heading 3                                     :noexport:
  Text that will not be exported.
  ,* heading 4                                :ignoreheading:
  Text here will also not be exported because it ends up being under
  "heading 3" which has the :noexport: tag.
#+end_src

Note that my implementation is old and it could very well be that later
versions of org have introduced something to cater for this use case.  I
have org customizations going back over 10 years...

-- 
Eric S Fraga via Emacs 27.0.50, Org release_9.3-34-g2eee3c



reply via email to

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