From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: new exporter, conditional options according to backend Date: Sat, 19 Jan 2013 23:48:29 +0100 Message-ID: <87sj5w23ia.fsf@gmail.com> References: <87hame8pdk.fsf@david.espiga4.com.ar> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([208.118.235.92]:39016) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TwhDY-00076f-JG for emacs-orgmode@gnu.org; Sat, 19 Jan 2013 17:48:54 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TwhDX-0004dP-EZ for emacs-orgmode@gnu.org; Sat, 19 Jan 2013 17:48:52 -0500 Received: from mail-wg0-f50.google.com ([74.125.82.50]:37543) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TwhDX-0004cB-62 for emacs-orgmode@gnu.org; Sat, 19 Jan 2013 17:48:51 -0500 Received: by mail-wg0-f50.google.com with SMTP id es5so3012718wgb.5 for ; Sat, 19 Jan 2013 14:48:50 -0800 (PST) In-Reply-To: <87hame8pdk.fsf@david.espiga4.com.ar> (Ezequiel Birman's message of "Fri, 18 Jan 2013 12:47:19 -0300") 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: Ezequiel Birman Cc: emacs-orgmode@gnu.org 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