Browse Source

contrib/lisp/*: Use `org-export-define-*backend' as defuns, not macros

* ox-taskjuggler.el (taskjuggler):
* ox-s5.el (s5):
* ox-rss.el (rss):
* ox-koma-letter.el (koma-letter):
* ox-groff.el (groff):
* ox-freemind.el (freemind):
* ox-deck.el (deck):
* ox-confluence.el (confluence): Use
`org-export-define-backend' or
`org-export-define-derived-backend' as defuns, not macros.
Bastien Guerry 7 years ago
parent
commit
5c63007721

+ 17 - 17
contrib/lisp/ox-confluence.el

@@ -37,23 +37,23 @@
 (require 'ox-ascii)
 
 ;; Define the backend itself
-(org-export-define-derived-backend confluence ascii
-  :translate-alist ((bold . org-confluence-bold)
-                    (example-block . org-confluence-example-block)
-                    (fixed-width . org-confluence-fixed-width)
-                    (footnote-definition . org-confluence-empty)
-                    (footnote-reference . org-confluence-empty)
-                    (headline . org-confluence-headline)
-                    (italic . org-confluence-italic)
-                    (link . org-confluence-link)
-                    (section . org-confluence-section)
-                    (src-block . org-confluence-src-block)
-                    (strike-through . org-confluence-strike-through)
-                    (table . org-confluence-table)
-                    (table-cell . org-confluence-table-cell)
-                    (table-row . org-confluence-table-row)
-                    (template . org-confluence-template)
-                    (underline . org-confluence-underline)))
+(org-export-define-derived-backend 'confluence 'ascii
+  :translate-alist '((bold . org-confluence-bold)
+		     (example-block . org-confluence-example-block)
+		     (fixed-width . org-confluence-fixed-width)
+		     (footnote-definition . org-confluence-empty)
+		     (footnote-reference . org-confluence-empty)
+		     (headline . org-confluence-headline)
+		     (italic . org-confluence-italic)
+		     (link . org-confluence-link)
+		     (section . org-confluence-section)
+		     (src-block . org-confluence-src-block)
+		     (strike-through . org-confluence-strike-through)
+		     (table . org-confluence-table)
+		     (table-cell . org-confluence-table-cell)
+		     (table-row . org-confluence-table-row)
+		     (template . org-confluence-template)
+		     (underline . org-confluence-underline)))
 
 ;; All the functions we use
 (defun org-confluence-bold (bold contents info)

+ 25 - 25
contrib/lisp/ox-deck.el

@@ -41,34 +41,34 @@
 (require 'ox-html)
 (eval-when-compile (require 'cl))
 
-(org-export-define-derived-backend deck html
+(org-export-define-derived-backend 'deck 'html
   :menu-entry
-  (?d "Export to deck.js HTML Presentation"
-      ((?H "To temporary buffer" org-deck-export-as-html)
-       (?h "To file" org-deck-export-to-html)
-       (?o "To file and open"
-           (lambda (a s v b)
-             (if a (org-deck-export-to-html t s v b)
-               (org-open-file (org-deck-export-to-html nil s v b)))))))
+  '(?d "Export to deck.js HTML Presentation"
+       ((?H "To temporary buffer" org-deck-export-as-html)
+	(?h "To file" org-deck-export-to-html)
+	(?o "To file and open"
+	    (lambda (a s v b)
+	      (if a (org-deck-export-to-html t s v b)
+		(org-open-file (org-deck-export-to-html nil s v b)))))))
   :options-alist
-  ((:html-link-home "HTML_LINK_HOME" nil nil)
-   (:html-link-up "HTML_LINK_UP" nil nil)
-   (:deck-postamble "DECK_POSTAMBLE" nil org-deck-postamble newline)
-   (:deck-preamble "DECK_PREAMBLE" nil org-deck-preamble newline)
-   (:html-head-include-default-style "HTML_INCLUDE_DEFAULT_STYLE" nil nil)
-   (:html-head-include-scripts "HTML_INCLUDE_SCRIPTS" nil nil)
-   (:deck-base-url "DECK_BASE_URL" nil org-deck-base-url)
-   (:deck-theme "DECK_THEME" nil org-deck-theme)
-   (:deck-transition "DECK_TRANSITION" nil org-deck-transition)
-   (:deck-include-extensions "DECK_INCLUDE_EXTENSIONS" nil
-                             org-deck-include-extensions split)
-   (:deck-exclude-extensions "DECK_EXCLUDE_EXTENSIONS" nil
-                             org-deck-exclude-extensions split))
+  '((:html-link-home "HTML_LINK_HOME" nil nil)
+    (:html-link-up "HTML_LINK_UP" nil nil)
+    (:deck-postamble "DECK_POSTAMBLE" nil org-deck-postamble newline)
+    (:deck-preamble "DECK_PREAMBLE" nil org-deck-preamble newline)
+    (:html-head-include-default-style "HTML_INCLUDE_DEFAULT_STYLE" nil nil)
+    (:html-head-include-scripts "HTML_INCLUDE_SCRIPTS" nil nil)
+    (:deck-base-url "DECK_BASE_URL" nil org-deck-base-url)
+    (:deck-theme "DECK_THEME" nil org-deck-theme)
+    (:deck-transition "DECK_TRANSITION" nil org-deck-transition)
+    (:deck-include-extensions "DECK_INCLUDE_EXTENSIONS" nil
+			      org-deck-include-extensions split)
+    (:deck-exclude-extensions "DECK_EXCLUDE_EXTENSIONS" nil
+			      org-deck-exclude-extensions split))
   :translate-alist
-  ((headline . org-deck-headline)
-   (inner-template . org-deck-inner-template)
-   (item . org-deck-item)
-   (template . org-deck-template)))
+  '((headline . org-deck-headline)
+    (inner-template . org-deck-inner-template)
+    (item . org-deck-item)
+    (template . org-deck-template)))
 
 (defgroup org-export-deck nil
   "Options for exporting Org mode files to deck.js HTML Presentations."

+ 14 - 14
contrib/lisp/ox-freemind.el

@@ -42,22 +42,22 @@
 
 ;;; Define Back-End
 
-(org-export-define-derived-backend freemind html
+(org-export-define-derived-backend 'freemind 'html
   :export-block "FREEMIND"
   :menu-entry
-  (?f "Export to Freemind Mindmap"
-      ((?f "As Freemind Mindmap file" org-freemind-export-to-freemind)
-       (?o "As Freemind Mindmap file and open"
-	   (lambda (a s v b)
-	     (if a (org-freemind-export-to-freemind t s v b)
-	       (org-open-file (org-freemind-export-to-freemind nil s v b)))))))
-  :translate-alist ((headline . org-freemind-headline)
-		    (template . org-freemind-template)
-		    (inner-template . org-freemind-inner-template)
-		    (section . org-freemind-section)
-		    (entity . org-freemind-entity))
-  :filters-alist ((:filter-options . org-freemind-options-function)
-		  (:filter-final-output . org-freemind-final-function)))
+  '(?f "Export to Freemind Mindmap"
+       ((?f "As Freemind Mindmap file" org-freemind-export-to-freemind)
+	(?o "As Freemind Mindmap file and open"
+	    (lambda (a s v b)
+	      (if a (org-freemind-export-to-freemind t s v b)
+		(org-open-file (org-freemind-export-to-freemind nil s v b)))))))
+  :translate-alist '((headline . org-freemind-headline)
+		     (template . org-freemind-template)
+		     (inner-template . org-freemind-inner-template)
+		     (section . org-freemind-section)
+		     (entity . org-freemind-entity))
+  :filters-alist '((:filter-options . org-freemind-options-function)
+		   (:filter-final-output . org-freemind-final-function)))
 
 
 

+ 59 - 59
contrib/lisp/ox-groff.el

@@ -45,68 +45,68 @@
 
 ;;; Define Back-End
 
-(org-export-define-backend groff
-  ((bold . org-groff-bold)
-   (center-block . org-groff-center-block)
-   (clock . org-groff-clock)
-   (code . org-groff-code)
-   (comment . (lambda (&rest args) ""))
-   (comment-block . (lambda (&rest args) ""))
-   (drawer . org-groff-drawer)
-   (dynamic-block . org-groff-dynamic-block)
-   (entity . org-groff-entity)
-   (example-block . org-groff-example-block)
-   (export-block . org-groff-export-block)
-   (export-snippet . org-groff-export-snippet)
-   (fixed-width . org-groff-fixed-width)
-   (footnote-definition . org-groff-footnote-definition)
-   (footnote-reference . org-groff-footnote-reference)
-   (headline . org-groff-headline)
-   (horizontal-rule . org-groff-horizontal-rule)
-   (inline-src-block . org-groff-inline-src-block)
-   (inlinetask . org-groff-inlinetask)
-   (italic . org-groff-italic)
-   (item . org-groff-item)
-   (keyword . org-groff-keyword)
-   (line-break . org-groff-line-break)
-   (link . org-groff-link)
-   (paragraph . org-groff-paragraph)
-   (plain-list . org-groff-plain-list)
-   (plain-text . org-groff-plain-text)
-   (planning . org-groff-planning)
-   (property-drawer . (lambda (&rest args) ""))
-   (quote-block . org-groff-quote-block)
-   (quote-section . org-groff-quote-section)
-   (radio-target . org-groff-radio-target)
-   (section . org-groff-section)
-   (special-block . org-groff-special-block)
-   (src-block . org-groff-src-block)
-   (statistics-cookie . org-groff-statistics-cookie)
-   (strike-through . org-groff-strike-through)
-   (subscript . org-groff-subscript)
-   (superscript . org-groff-superscript)
-   (table . org-groff-table)
-   (table-cell . org-groff-table-cell)
-   (table-row . org-groff-table-row)
-   (target . org-groff-target)
-   (template . org-groff-template)
-   (timestamp . org-groff-timestamp)
-   (underline . org-groff-underline)
-   (verbatim . org-groff-verbatim)
-   (verse-block . org-groff-verse-block))
+(org-export-define-backend 'groff
+  '((bold . org-groff-bold)
+    (center-block . org-groff-center-block)
+    (clock . org-groff-clock)
+    (code . org-groff-code)
+    (comment . (lambda (&rest args) ""))
+    (comment-block . (lambda (&rest args) ""))
+    (drawer . org-groff-drawer)
+    (dynamic-block . org-groff-dynamic-block)
+    (entity . org-groff-entity)
+    (example-block . org-groff-example-block)
+    (export-block . org-groff-export-block)
+    (export-snippet . org-groff-export-snippet)
+    (fixed-width . org-groff-fixed-width)
+    (footnote-definition . org-groff-footnote-definition)
+    (footnote-reference . org-groff-footnote-reference)
+    (headline . org-groff-headline)
+    (horizontal-rule . org-groff-horizontal-rule)
+    (inline-src-block . org-groff-inline-src-block)
+    (inlinetask . org-groff-inlinetask)
+    (italic . org-groff-italic)
+    (item . org-groff-item)
+    (keyword . org-groff-keyword)
+    (line-break . org-groff-line-break)
+    (link . org-groff-link)
+    (paragraph . org-groff-paragraph)
+    (plain-list . org-groff-plain-list)
+    (plain-text . org-groff-plain-text)
+    (planning . org-groff-planning)
+    (property-drawer . (lambda (&rest args) ""))
+    (quote-block . org-groff-quote-block)
+    (quote-section . org-groff-quote-section)
+    (radio-target . org-groff-radio-target)
+    (section . org-groff-section)
+    (special-block . org-groff-special-block)
+    (src-block . org-groff-src-block)
+    (statistics-cookie . org-groff-statistics-cookie)
+    (strike-through . org-groff-strike-through)
+    (subscript . org-groff-subscript)
+    (superscript . org-groff-superscript)
+    (table . org-groff-table)
+    (table-cell . org-groff-table-cell)
+    (table-row . org-groff-table-row)
+    (target . org-groff-target)
+    (template . org-groff-template)
+    (timestamp . org-groff-timestamp)
+    (underline . org-groff-underline)
+    (verbatim . org-groff-verbatim)
+    (verse-block . org-groff-verse-block))
   :export-block "GROFF"
   :menu-entry
-  (?g "Export to GROFF"
-      ((?g "As GROFF file" org-groff-export-to-groff)
-       (?p "As PDF file" org-groff-export-to-pdf)
-       (?o "As PDF file and open"
-	   (lambda (a s v b)
-	     (if a (org-groff-export-to-pdf t s v b)
-	       (org-open-file (org-groff-export-to-pdf nil s v b)))))))
+  '(?g "Export to GROFF"
+       ((?g "As GROFF file" org-groff-export-to-groff)
+	(?p "As PDF file" org-groff-export-to-pdf)
+	(?o "As PDF file and open"
+	    (lambda (a s v b)
+	      (if a (org-groff-export-to-pdf t s v b)
+		(org-open-file (org-groff-export-to-pdf nil s v b)))))))
   :options-alist
-  ((:groff-class "GROFF_CLASS" nil org-groff-default-class t)
-   (:groff-class-options "GROFF_CLASS_OPTIONS" nil nil t)
-   (:groff-header-extra "GROFF_HEADER" nil nil newline)))
+  '((:groff-class "GROFF_CLASS" nil org-groff-default-class t)
+    (:groff-class-options "GROFF_CLASS_OPTIONS" nil nil t)
+    (:groff-header-extra "GROFF_HEADER" nil nil newline)))
 
 
 

+ 20 - 20
contrib/lisp/ox-koma-letter.el

@@ -108,28 +108,28 @@
 
 ;;; Define Back-End
 
-(org-export-define-derived-backend koma-letter latex
+(org-export-define-derived-backend 'koma-letter 'latex
   :options-alist
-  ((:closing "CLOSING" nil org-koma-letter-closing)
-   (:from-address "FROM_ADDRESS" nil org-koma-letter-from-address newline)
-   (:lco "LCO" nil org-koma-letter-class-option-file)
-   (:opening "OPENING" nil org-koma-letter-opening)
-   (:phone-number "PHONE_NUMBER" nil org-koma-letter-phone-number)
-   (:signature "SIGNATURE" nil nil newline)
-   (:to-address "TO_ADDRESS" nil nil newline))
-  :translate-alist ((export-block . org-koma-letter-export-block)
-                    (export-snippet . org-koma-letter-export-snippet)
-                    (keyword . org-koma-letter-keyword)
-                    (template . org-koma-letter-template))
+  '((:closing "CLOSING" nil org-koma-letter-closing)
+    (:from-address "FROM_ADDRESS" nil org-koma-letter-from-address newline)
+    (:lco "LCO" nil org-koma-letter-class-option-file)
+    (:opening "OPENING" nil org-koma-letter-opening)
+    (:phone-number "PHONE_NUMBER" nil org-koma-letter-phone-number)
+    (:signature "SIGNATURE" nil nil newline)
+    (:to-address "TO_ADDRESS" nil nil newline))
+  :translate-alist '((export-block . org-koma-letter-export-block)
+		     (export-snippet . org-koma-letter-export-snippet)
+		     (keyword . org-koma-letter-keyword)
+		     (template . org-koma-letter-template))
   :menu-entry
-  (?k "Export with KOMA Scrlttr2"
-      ((?K "As LaTeX buffer" org-koma-letter-export-as-latex)
-       (?k "As LaTeX file" org-koma-letter-export-to-latex)
-       (?p "As PDF file" org-koma-letter-export-to-pdf)
-       (?O "As PDF file and open"
-           (lambda (a s v b)
-             (if a (org-koma-letter-export-to-pdf t s v b)
-	       (org-open-file (org-koma-letter-export-to-pdf nil s v b))))))))
+  '(?k "Export with KOMA Scrlttr2"
+       ((?K "As LaTeX buffer" org-koma-letter-export-as-latex)
+	(?k "As LaTeX file" org-koma-letter-export-to-latex)
+	(?p "As PDF file" org-koma-letter-export-to-pdf)
+	(?O "As PDF file and open"
+	    (lambda (a s v b)
+	      (if a (org-koma-letter-export-to-pdf t s v b)
+		(org-open-file (org-koma-letter-export-to-pdf nil s v b))))))))
 
 
 ;;; Transcode Functions

+ 21 - 21
contrib/lisp/ox-rss.el

@@ -101,29 +101,29 @@ When nil, Org will create ids using `org-icalendar-create-uid'."
 
 ;;; Define backend
 
-(org-export-define-derived-backend rss html
+(org-export-define-derived-backend 'rss 'html
   :menu-entry
-  (?r "Export to RSS"
-      ((?R "As RSS buffer"
-	   (lambda (a s v b) (org-rss-export-as-rss a s v)))
-       (?r "As RSS file" (lambda (a s v b) (org-rss-export-to-rss a s v)))
-       (?o "As RSS file and open"
-	   (lambda (a s v b)
-	     (if a (org-rss-export-to-rss t s v)
-	       (org-open-file (org-rss-export-to-rss nil s v)))))))
+  '(?r "Export to RSS"
+       ((?R "As RSS buffer"
+	    (lambda (a s v b) (org-rss-export-as-rss a s v)))
+	(?r "As RSS file" (lambda (a s v b) (org-rss-export-to-rss a s v)))
+	(?o "As RSS file and open"
+	    (lambda (a s v b)
+	      (if a (org-rss-export-to-rss t s v)
+		(org-open-file (org-rss-export-to-rss nil s v)))))))
   :options-alist
-  ((:with-toc nil nil nil) ;; Never include HTML's toc
-   (:rss-extension "RSS_EXTENSION" nil org-rss-extension)
-   (:rss-image-url "RSS_IMAGE_URL" nil org-rss-image-url)
-   (:rss-categories nil nil org-rss-categories))
-  :filters-alist ((:filter-final-output . org-rss-final-function))
-  :translate-alist ((headline . org-rss-headline)
-		    (comment . (lambda (&rest args) ""))
-		    (comment-block . (lambda (&rest args) ""))
-		    (timestamp . (lambda (&rest args) ""))
-		    (plain-text . org-rss-plain-text)
-		    (section . org-rss-section)
-		    (template . org-rss-template)))
+  '((:with-toc nil nil nil) ;; Never include HTML's toc
+    (:rss-extension "RSS_EXTENSION" nil org-rss-extension)
+    (:rss-image-url "RSS_IMAGE_URL" nil org-rss-image-url)
+    (:rss-categories nil nil org-rss-categories))
+  :filters-alist '((:filter-final-output . org-rss-final-function))
+  :translate-alist '((headline . org-rss-headline)
+		     (comment . (lambda (&rest args) ""))
+		     (comment-block . (lambda (&rest args) ""))
+		     (timestamp . (lambda (&rest args) ""))
+		     (plain-text . org-rss-plain-text)
+		     (section . org-rss-section)
+		     (template . org-rss-template)))
 
 ;;; Export functions
 

+ 24 - 24
contrib/lisp/ox-s5.el

@@ -50,33 +50,33 @@
 
 (require 'ox-html)
 
-(org-export-define-derived-backend s5 html
+(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)))))))
+  '(?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
-  ((:html-link-home "HTML_LINK_HOME" nil nil)
-   (:html-link-up "HTML_LINK_UP" nil nil)
-   (:s5-postamble "S5_POSTAMBLE" nil org-s5-postamble newline)
-   (:s5-preamble "S5_PREAMBLE" nil org-s5-preamble newline)
-   (:html-head-include-default-style "HTML_INCLUDE_DEFAULT_STYLE" nil nil)
-   (:html-head-include-scripts "HTML_INCLUDE_SCRIPTS" nil nil)
-   (:s5-version "S5_VERSION" nil org-s5-version)
-   (:s5-theme-file "S5_THEME_FILE" nil org-s5-theme-file)
-   (:s5-ui-url "S5_UI_URL" nil org-s5-ui-url)
-   (:s5-default-view "S5_DEFAULT_VIEW" nil org-s5-default-view)
-   (:s5-control-visibility "S5_CONTROL_VISIBILITY" nil
-			   org-s5-control-visibility))
+  '((:html-link-home "HTML_LINK_HOME" nil nil)
+    (:html-link-up "HTML_LINK_UP" nil nil)
+    (:s5-postamble "S5_POSTAMBLE" nil org-s5-postamble newline)
+    (:s5-preamble "S5_PREAMBLE" nil org-s5-preamble newline)
+    (:html-head-include-default-style "HTML_INCLUDE_DEFAULT_STYLE" nil nil)
+    (:html-head-include-scripts "HTML_INCLUDE_SCRIPTS" nil nil)
+    (:s5-version "S5_VERSION" nil org-s5-version)
+    (:s5-theme-file "S5_THEME_FILE" nil org-s5-theme-file)
+    (:s5-ui-url "S5_UI_URL" nil org-s5-ui-url)
+    (:s5-default-view "S5_DEFAULT_VIEW" nil org-s5-default-view)
+    (:s5-control-visibility "S5_CONTROL_VISIBILITY" nil
+			    org-s5-control-visibility))
   :translate-alist
-  ((headline . org-s5-headline)
-   (plain-list . org-s5-plain-list)
-   (inner-template . org-s5-inner-template)
-   (template . org-s5-template)))
+  '((headline . org-s5-headline)
+    (plain-list . org-s5-plain-list)
+    (inner-template . org-s5-inner-template)
+    (template . org-s5-template)))
 
 (defgroup org-export-s5 nil
   "Options for exporting Org mode files to S5 HTML Presentations."

+ 9 - 9
contrib/lisp/ox-taskjuggler.el

@@ -292,18 +292,18 @@ This hook is run with the name of the file as argument.")
 
 ;;; Back-End Definition
 
-(org-export-define-backend taskjuggler
-  ((template . org-taskjuggler-project-plan))
+(org-export-define-backend 'taskjuggler
+  '((template . org-taskjuggler-project-plan))
   :menu-entry
-  (?J "Export to TaskJuggler"
-      ((?j "As TJP file" (lambda (a s v b) (org-taskjuggler-export a s v)))
-       (?o "As TJP file and open"
-           (lambda (a s v b)
-             (if a (org-taskjuggler-export a s v)
-               (org-taskjuggler-export-and-open s v))))))
+  '(?J "Export to TaskJuggler"
+       ((?j "As TJP file" (lambda (a s v b) (org-taskjuggler-export a s v)))
+	(?o "As TJP file and open"
+	    (lambda (a s v b)
+	      (if a (org-taskjuggler-export a s v)
+		(org-taskjuggler-export-and-open s v))))))
   ;; This property will be used to store unique ids in communication
   ;; channel.  Ids will be retrieved with `org-taskjuggler-get-id'.
-  :options-alist ((:taskjuggler-unique-ids nil nil nil)))
+  :options-alist '((:taskjuggler-unique-ids nil nil nil)))