From mboxrd@z Thu Jan 1 00:00:00 1970 From: James Harkins Subject: Exporter: Derived backend options-alist Date: Mon, 02 Mar 2015 22:23:22 +0800 Message-ID: <87d24rv5ph.wl-jamshark70@qq.com> Mime-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:36279) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YSRGI-0005M5-DN for emacs-orgmode@gnu.org; Mon, 02 Mar 2015 09:23:59 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YSRGF-0001ub-ME for emacs-orgmode@gnu.org; Mon, 02 Mar 2015 09:23:58 -0500 Received: from smtpbgsg2.qq.com ([54.254.200.128]:36618) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YSRGE-0001qb-MI for emacs-orgmode@gnu.org; Mon, 02 Mar 2015 09:23:55 -0500 Received: from hjh-e431.qq.com (unknown [219.137.191.167]) by esmtp4.qq.com (ESMTP) with SMTP id 0 for ; Mon, 02 Mar 2015 22:23:23 +0800 (CST) 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: orgmode I'm trying to derive an exporter backend from ASCII. I need to add some export options, so I have: #+BEGIN_SRC {emacs-lisp} (org-export-define-derived-backend 'scdoc 'ascii :translate-alist ... omitted for brevity... :options-alist '((:categories "CATEGORIES" nil nil t) (:related "RELATED" nil nil t) (:summary "SUMMARY" nil nil t) (:redirect "REDIRECT" nil nil t)) ) ... snip snip... (defun org-scdoc-template (contents info) "Return complete document string after SCDoc conversion. CONTENTS is the transcoded contents string. INFO is a plist holding export options." (let* ((title (org-export-data (plist-get info :title) info)) (categories (org-export-data (plist-get info :categories) info)) (related (org-export-data (plist-get info :related) info)) (summary (org-export-data (plist-get info :summary) info)) (redirect (org-export-data (plist-get info :redirect) info)) (output (format "TITLE:: %s\n" title))) (if categories (setq output (concat output (format "CATEGORIES:: %s\n" categories)))) (if related (setq output (concat output (format "RELATED:: %s\n" categories)))) (if summary (setq output (concat output (format "SUMMARY:: %s\n" categories)))) (if redirect (setq output (concat output (format "REDIRECT:: %s\n" categories)))) (concat output "\n\n" contents))) #+END_SRC (Pardon the un-idiomatic Emacs-lisp.) Then I created an org file that begins: #+BEGIN_SRC org ,#+title:: PulseCount ,#+summary:: Pulse counter. ,#+related:: Classes/Stepper ,#+categories:: UGens>Triggers ,* Description Each trigger increments a counter which is output as a signal. #+END_SRC Then I run org-scdoc-export-as-scdoc, and I get as the first few lines: TITLE:: CATEGORIES:: RELATED:: SUMMARY:: REDIRECT:: ... telling me that the template function retrieved empty strings for all the export options. Obviously I've done something wrong, but... what? "(let ((title (org-export-data (plist-get info :title) info)))...)" is copied from ox-latex.el, and ox-latex clearly has no problem accessing the title. Thanks in advance. I'm sure I'll have other questions later. hjh