Hi List, assume I want to derive an exporter backend from ox-org.el, and there are just a few new transcoder functions, so all other elements/object should be exported as Org-syntax (with inherited function `org-org-identity').
Using this example Org-snippet #+begin_src org * A1 Text *A1* ** A2 Text *A2* * B1 Text *B1* ** B2 Text *B2* #+end_src I get something like this if I write a transcoder function for 'headline' ignoring argument 'contents' (don't bother with the details please): #+begin_src emacs-lisp (org-data nil "(headline (title-string \"A1\" alt-title-string \"A1\" category \"tmp5\" level 1 priority nil tags nil todo-keyword nil quotedp nil archivedp nil commentedp nil footnote-secion-p nil)) (headline (title-string \"B1\" alt-title-string \"B1\" category \"tmp5\" level 1 priority nil tags nil todo-keyword nil quotedp nil archivedp nil commentedp nil footnote-secion-p nil)) ") #+end_src Only the two 1st level headlines are successfully transcoded, their content is missing. But when I use something like this in the headline transcode function #+begin_src emacs-lisp (format "(headline %S %s) " [... return headline string ...] contents) #+end_src I get the parse-tree structure as output instead of elements/object in their original Org text syntax as expected: #+begin_src emacs-lisp (org-data nil "(headline (title-string \"A1\" alt-title-string \"A1\" category \"tmp5\" level 1 priority nil tags nil todo-keyword nil quotedp nil archivedp nil commentedp nil footnote-secion-p nil) (section (#(\"Text *A1* \" 0 5 (:parent (paragraph (:begin 6 :end 16 :contents-begin 6 :contents-end 16 :post-blank 0 :post-affiliated 6 :parent (section (:begin 6 :end 16 :contents-begin 6 :contents-end 16 :post-blank 0 :parent (headline (:raw-value \"A1\" :begin 1 :end 32 :pre-blank 0 :contents-begin 6 :contents-end 32 :level 1 :priority nil :tags [...] #+end_src Note that I have a simple filter-function for section that looks like this: #+begin_src emacs-lisp (defun org-iorg-data-filter-section-function (section backend info) (format "(section (%S))" section)) #+end_src I'm sure there is some misunderstanding on my side here. I would expect that all elements/objects inside the section have already been transcoded back to Org-syntax when this filter is applied, so I should not see parse-tree structures in the output. I had a look at other backends for inspiration on how to deal with 'contents' in my headline transcoder function, e.g. #+begin_src emacs-lisp (defun org-html-section (section contents info) [...] ;; Build return value. (format "<div class=\"outline-text-%d\" id=\"text-%s\">\n%s</div>" class-num (or (org-element-property :CUSTOM_ID parent) section-number) contents))))) #+end_src but that looks to me just how I treated 'contents' above. Any tips would be appreciated. -- cheers, Thorsten