I don't have the impression you would need to hijack the export process. It seems like you would need to call a function that gets data from some source (e.g the org document) and then populates a template with that data, and once that is done, call a regular export function. There are a number of template solutions: http://www.emacswiki.org/emacs/CategoryTemplates. I am not sure these are too easy to adapt to what you describe. I played around with some ideas for this here: http://kitchingroup.cheme.cmu.edu/blog/2014/01/20/Alternatives-to-long-complex-format-statements-in-emacs-lisp/ http://kitchingroup.cheme.cmu.edu/blog/2014/01/26/Another-alternative-to-string-templates/ Something like these could be used to populate a template I think. John ----------------------------------- Professor John Kitchin Doherty Hall A207F Department of Chemical Engineering Carnegie Mellon University Pittsburgh, PA 15213 412-268-7803 @johnkitchin http://kitchingroup.cheme.cmu.edu On Sat, Aug 8, 2015 at 12:48 AM, Eric Abrahamsen wrote: > Exporting org files and subtrees is awfully flexible, given all the > possible customizations, but for a long while I've occasionally felt the > need to come at the "export" process from the other direction: instead > of customizing the export appearance of a series of headings, instead > starting with a common block of export text, and interpolating values > from the headings into that text -- ie, templating. > > I've felt this need off and on for a couple of years, most recently when > organizing a small literary festival. I really need to keep all the > information about the events in a single place, otherwise I know that > information will go stale right away. But I need the information in a > series of such wildly-varying formats that I can't imagine setting up > (and switching between) export filters in a way that wouldn't make me > cry. Not to mention that the different "export" use-cases all have their > own per-heading boilerplate text, and there's no way I'm going to repeat > all that different boilerplate under each heading. > > Obviously there's many ways this could be done. I could somehow hijack > the export process -- in many cases it would be nice too make use of the > skeleton document structures that export provides. > > Or maybe dynamic blocks? I've never used them before. Or maybe just a > plain old `org-map-entries', which reads the template text from an > external file and then steals some of the macro expansion functions to > fill out the values. > > Has anyone wanted to do this before? Has anyone actually done it? Any > thoughts or suggestions would be much appreciated! > > Yours, > Eric > > >