conditionally add a headline with content to parse tree using either org-export-before-parsing-hook or org-export-filter-parse-tree-functions
I use org-re-reveal to make lecture slides from subtrees. Often I forget to add a heading with #+print_bibliography: and as a result org-cite does not generate the bibliography, and my citations are not wrapped in links. I'd like to search *either* the parse tree *or* the temporary export buffer for the #+print_bibliography keyword, and if it's not found, add a headline to the end of the subtree/parse-tree with the appropriate information.
I can easily generate the proper lisp object with the org-ml package:
(org-ml-build-headline :title '("Sources")
(org-ml-build-node-property "CUSTOM_ID" "bibliography"))
(org-ml-build-keyword "print_bibliography" "" )
And if I want I can turn that into a string by wrapping it in (org-ml-to-trimmed-string ...)
However, I'm not sure how best to add it to the exported data. I believe I can add a function to either org-export-before-parsing-hook or org-export-filter-parse-tree-functions, but beyond that I'm a bit lost. It's not immediately obvious how to find the last headline and append another headline after that headline's section. Looking at the nesting confuses me somewhat and I'm afraid I'll break the data structure.
Has anyone done something like this before and do you have ideas?