From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ezequiel Birman Subject: Re: new exporter, conditional options according to backend Date: Sun, 20 Jan 2013 01:38:43 -0300 Message-ID: <87fw1w8o4s.fsf@david.espiga4.com.ar> References: <87hame8pdk.fsf@david.espiga4.com.ar> <87sj5w23ia.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([208.118.235.92]:58794) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TwmZs-0006SR-Jo for emacs-orgmode@gnu.org; Sat, 19 Jan 2013 23:32:17 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TwmZr-0001UH-Km for emacs-orgmode@gnu.org; Sat, 19 Jan 2013 23:32:16 -0500 Received: from plane.gmane.org ([80.91.229.3]:57052) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TwmZr-0001UB-EL for emacs-orgmode@gnu.org; Sat, 19 Jan 2013 23:32:15 -0500 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1Twma4-0006Oy-MM for emacs-orgmode@gnu.org; Sun, 20 Jan 2013 05:32:28 +0100 Received: from 186.22.172.130 ([186.22.172.130]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 20 Jan 2013 05:32:28 +0100 Received: from stormwatch by 186.22.172.130 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 20 Jan 2013 05:32:28 +0100 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 >>>>> "Nicolas" == Nicolas Goaziou writes: > Hello, Ezequiel Birman writes: >> Is it possible to write something like this with the new >> exporter? >> >> #+OPTIONS: (if (and (boundp 'org-export-current-backend) (eq >> org-export-current-backend 'e-beamer)) "H:1" "H:3") > There is no `org-export-current-backend' in the new > exporter. Besides, what you want is the default behaviour (see > `org-e-beamer-frame-level' variable). >> From what I read in org-export.el the backend is stored in a >> plist, not sure how to get it's value when exporting. >> >> Or, maybe I need to write a filter function to be run from >> org-export-before-process-hook? > Filters are different from hook. A function in a hook operates on > an Org buffer. A filter function operates either on a string in > output syntax or on the parse tree. > If, for some reason, you want to modify export options "on the > fly", you could create a filter function for parse tree, and > modify options plist from it: > #+begin_src emacs-lisp (defun my-options-change-fun (tree backend > info) (when (org-export-derived-backend-p backend 'e-beamer) > (plist-put info :with-author nil)) ;; Don't forget to return tree. > tree) > (add-to-list 'org-export-filter-parse-tree-functions > 'my-options-change-fun) #+end_src > Regards, > -- Nicolas Goaziou Thanks for the example and the clarificatons re filters versus hooks, and for thinking of those sane defaults ahead too. -- Ezequiel Birman