[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] [New Exporter] deriving from derived backends?
From: |
Nicolas Goaziou |
Subject: |
Re: [O] [New Exporter] deriving from derived backends? |
Date: |
Fri, 15 Mar 2013 21:26:28 +0100 |
Hello,
Rick Frankel <address@hidden> writes:
> I am trying to derive a backend from another derived backend (i want
> to override certain entries in the options-alist), but it does not
> seem to work. The menu entries are created, but the in the
> second-level derived backend are not being picked up.
>
> Should this work? Or do i need a different approach?
>
> here's abbreviated code:
>
> (org-export-define-derived-backend s5 html
> :menu-entry
> (?s "Export to S5 HTML Presentation"
> ((?H "To temporary buffer" org-s5-export-as-html)
> (?h "To file" org-s5-export-to-html)
> (?o "To file and open"
> (lambda (a s v b)
> (if a (org-s5-export-to-html t s v b)
> (org-open-file (org-s5-export-to-html nil s v b)))))))
> :options-alist
> [...]
>
>
> ;; this is the full exporter definition
> (org-export-define-derived-backend s5-xoxo s5
> :menu-entry
> (?s "Export to S5 HTML Presentation"
> ((?X "To temporary buffer (XOXO)" org-s5-export-as-html)
> (?x "To file (XOXO)" org-s5-export-to-html)
> (?O "To file and open (XOXO)"
> (lambda (a s v b)
> (if a (org-s5-export-to-html t s v b)
> (org-open-file (org-s5-export-to-html nil s v b)))))))
> :options-alist
> ((:html-container nil nil "li") ;; this is defined in the html backend
> ;; this is new to this backend
> (:s5-xoxo-root "S5_XOXO_ROOT" nil org-s5-xoxo-root-element)))
>
> If i use e.g., s-X or s-x in the exporter menu,
> in exporter functions, :html-container == "div" (which is set in the
> html exporter), and :s5-xoxo-root is nil.
You are using the same key: ?s for both back-ends in the menu. You need
to use different keys, or install one of them as a sub-menu of the
previous one (notice the "1" instead of the description):
(org-export-define-derived-backend s5-xoxo s5
:menu-entry
(?s 1
((?X "To temporary buffer (XOXO)" org-s5-export-as-html)
(?x "To file (XOXO)" org-s5-export-to-html)
(?O "To file and open (XOXO)"
(lambda (a s v b)
(if a (org-s5-export-to-html t s v b)
(org-open-file (org-s5-export-to-html nil s v b)))))))
:options-alist
((:html-container nil nil "li") ;; this is defined in the html backend
;; this is new to this backend
(:s5-xoxo-root "S5_XOXO_ROOT" nil org-s5-xoxo-root-element)))
Regards,
--
Nicolas Goaziou