From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Abrahamsen Subject: Re: templating with Org? Date: Mon, 10 Aug 2015 13:49:41 +0800 Message-ID: <871tfbzo96.fsf@ericabrahamsen.net> References: <8737zumlmm.fsf@ericabrahamsen.net> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:55356) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZOfyA-00075n-Sq for emacs-orgmode@gnu.org; Mon, 10 Aug 2015 01:50:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZOfy7-0007od-M4 for emacs-orgmode@gnu.org; Mon, 10 Aug 2015 01:49:58 -0400 Received: from plane.gmane.org ([80.91.229.3]:44548) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZOfy7-0007nG-EN for emacs-orgmode@gnu.org; Mon, 10 Aug 2015 01:49:55 -0400 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1ZOfy3-000878-QY for emacs-orgmode@gnu.org; Mon, 10 Aug 2015 07:49:53 +0200 Received: from 114.252.246.1 ([114.252.246.1]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 10 Aug 2015 07:49:51 +0200 Received: from eric by 114.252.246.1 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 10 Aug 2015 07:49:51 +0200 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org John Kitchin writes: > 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. That's an interesting idea: going from the base Org file to a massaged Org buffer, and then exporting that. I'll try that out for a bit. Thanks for that, and for the links! > 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