Export back-ends: add entry in `org-export-dispatch' when loaded

* contrib/lisp/org-e-ascii.el: Add an entry for `org-export-dispatch'.
* contrib/lisp/org-e-beamer.el: Add an entry for `org-export-dispatch'.
* contrib/lisp/org-e-groff.el (e-groff): Use
  `org-export-define-backend'.  Add an entry for `org-export-dispatch'.
* contrib/lisp/org-e-html.el: Add an entry for `org-export-dispatch'.
* contrib/lisp/org-e-latex.el: Add an entry for `org-export-dispatch'.
* contrib/lisp/org-e-man.el: Use `org-export-define-backend'.  Add an
  entry for `org-export-dispatch'.
* contrib/lisp/org-e-odt.el: Add an entry for `org-export-dispatch'.
* contrib/lisp/org-e-texinfo.el: Use `org-export-define-backend'.  Add an
  entry for `org-export-dispatch'.
* contrib/lisp/org-md.el: Add an entry for `org-export-dispatch'.
This commit is contained in:
Nicolas Goaziou 2012-09-09 13:08:52 +02:00
parent 113ca8767a
commit 6b8276ce76
9 changed files with 201 additions and 173 deletions

View File

@ -100,6 +100,26 @@
(verbatim . org-e-ascii-verbatim)
(verse-block . org-e-ascii-verse-block))
:export-block "ASCII"
:menu-entry
(?t "Export to Plain Text"
((?A "As ASCII buffer"
(lambda (s v b)
(org-e-ascii-export-as-ascii s v b '(:ascii-charset ascii))))
(?a "As ASCII file"
(lambda (s v b)
(org-e-ascii-export-to-ascii s v b '(:ascii-charset ascii))))
(?L "As Latin1 buffer"
(lambda (s v b)
(org-e-ascii-export-as-ascii s v b '(:ascii-charset latin1))))
(?l "As Latin1 file"
(lambda (s v b)
(org-e-ascii-export-to-ascii s v b '(:ascii-charset latin1))))
(?U "As UTF-8 buffer"
(lambda (s v b)
(org-e-ascii-export-as-ascii s v b '(:ascii-charset utf-8))))
(?u "As UTF-8 file"
(lambda (s v b)
(org-e-ascii-export-to-ascii s v b '(:ascii-charset utf-8))))))
:filters-alist ((:filter-headline . org-e-ascii-filter-headline-blank-lines)
(:filter-section . org-e-ascii-filter-headline-blank-lines))
:options-alist ((:ascii-charset nil nil org-e-ascii-charset)))

View File

@ -262,6 +262,13 @@ brackets. Return overlay specification, as a string, or nil."
(org-export-define-derived-backend e-beamer e-latex
:export-block "BEAMER"
:sub-menu-entry
(?l (?B "As TEX buffer (Beamer)" org-e-beamer-export-as-latex)
(?b "As TEX file (Beamer)" org-e-beamer-export-to-latex)
(?P "As PDF file (Beamer)" org-e-beamer-export-to-pdf)
(?O "As PDF file and open (Beamer)"
(lambda (s v b)
(org-open-file (org-e-beamer-export-to-pdf s v b)))))
:options-alist
((:beamer-theme "BEAMER_THEME" nil org-e-beamer-theme)
(:beamer-color-theme "BEAMER_COLOR_THEME" nil nil t)

View File

@ -47,7 +47,7 @@
;;; Define Back-End
(defvar org-e-groff-translate-alist
(org-export-define-backend e-groff
'((babel-call . org-e-groff-babel-call)
(bold . org-e-groff-bold)
(center-block . org-e-groff-center-block)
@ -100,16 +100,19 @@
(underline . org-e-groff-underline)
(verbatim . org-e-groff-verbatim)
(verse-block . org-e-groff-verse-block))
"Alist between element or object types and translators.")
:export-block "GROFF"
:menu-entry
(?g "Export to GROFF"
((?g "As GROFF file" org-e-groff-export-to-groff)
(?p "As PDF file" org-e-groff-export-to-pdf)
(?o "As PDF file and open"
(lambda (s v b) (org-open-file (org-e-groff-export-to-pdf s v b))))))
:options-alist
((:date "DATE" nil org-e-groff-date-format t)
(:groff-class "GROFF_CLASS" nil org-e-groff-default-class t)
(:groff-class-options "GROFF_CLASS_OPTIONS" nil nil t)
(:groff-header-extra "GROFF_HEADER" nil nil newline)))
(defconst org-e-groff-options-alist
'((:date "DATE" nil org-e-groff-date-format t)
(:groff-class "GROFF_CLASS" nil org-e-groff-default-class t)
(:groff-class-options "GROFF_CLASS_OPTIONS" nil nil t)
(:groff-header-extra "GROFF_HEADER" nil nil newline))
"Alist between Groff export properties and ways to set them.
See `org-export-options-alist' for more information on the
structure of the values.")
;;; User Configurable Variables
@ -530,13 +533,6 @@ These are the .aux, .log, .out, and .toc files."
(const :tag "NetPNM" "a=%s;b=%s;pngtopnm ${a} | pnmtops -noturn > ${b}" )
(const :tag "None" nil)))
;; Adding GROFF as a block parser to make sure that its contents
;; does not execute
(add-to-list 'org-element-block-name-alist
'("GROFF" . org-element-export-block-parser))
(defvar org-e-groff-registered-references nil)
(defvar org-e-groff-special-content nil)

View File

@ -102,6 +102,12 @@
(verse-block . org-e-html-verse-block))
:export-block "HTML"
:filters-alist ((:filter-final-output . org-e-html-final-function))
:menu-entry
(?h "Export to HTML"
((?H "To temporary buffer" org-e-html-export-as-html)
(?h "To file" org-e-html-export-to-html)
(?o "To file and open"
(lambda (s v b) (org-open-file (org-e-html-export-to-html s v b))))))
:options-alist
;; FIXME: Prefix KEYWORD and OPTION with "HTML_". Prefix
;; corresponding properties with `:html-". If such a renaming is

View File

@ -95,7 +95,14 @@
(underline . org-e-latex-underline)
(verbatim . org-e-latex-verbatim)
(verse-block . org-e-latex-verse-block))
:export-block "LATEX"
:export-block ("LATEX" "TEX")
:menu-entry
(?l "Export to LaTeX"
((?L "As TEX buffer" org-e-latex-export-as-latex)
(?l "As TEX file" org-e-latex-export-to-latex)
(?p "As PDF file" org-e-latex-export-to-pdf)
(?o "As PDF file and open"
(lambda (s v b) (org-open-file (org-e-latex-export-to-pdf s v b))))))
:options-alist ((:date "DATE" nil org-e-latex-date-format t)
(:latex-class "LATEX_CLASS" nil org-e-latex-default-class t)
(:latex-class-options "LATEX_CLASS_OPTIONS" nil nil t)
@ -1202,7 +1209,7 @@ information."
(defun org-e-latex-export-block (export-block contents info)
"Transcode a EXPORT-BLOCK element from Org to LaTeX.
CONTENTS is nil. INFO is a plist holding contextual information."
(when (string= (org-element-property :type export-block) "LATEX")
(when (member (org-element-property :type export-block) ("LATEX" "TEX"))
(org-remove-indentation (org-element-property :value export-block))))

View File

@ -45,73 +45,74 @@
(defvar org-export-man-packages-alist)
;;; Define Back-End
(defvar org-e-man-translate-alist
'((babel-call . org-e-man-babel-call)
(bold . org-e-man-bold)
(center-block . org-e-man-center-block)
(clock . org-e-man-clock)
(code . org-e-man-code)
(comment . org-e-man-comment)
(comment-block . org-e-man-comment-block)
(drawer . org-e-man-drawer)
(dynamic-block . org-e-man-dynamic-block)
(entity . org-e-man-entity)
(example-block . org-e-man-example-block)
(export-block . org-e-man-export-block)
(export-snippet . org-e-man-export-snippet)
(fixed-width . org-e-man-fixed-width)
(footnote-definition . org-e-man-footnote-definition)
(footnote-reference . org-e-man-footnote-reference)
(headline . org-e-man-headline)
(horizontal-rule . org-e-man-horizontal-rule)
(inline-babel-call . org-e-man-inline-babel-call)
(inline-src-block . org-e-man-inline-src-block)
(inlinetask . org-e-man-inlinetask)
(italic . org-e-man-italic)
(item . org-e-man-item)
(keyword . org-e-man-keyword)
(man-environment . org-e-man-man-environment)
(man-fragment . org-e-man-man-fragment)
(line-break . org-e-man-line-break)
(link . org-e-man-link)
(paragraph . org-e-man-paragraph)
(plain-list . org-e-man-plain-list)
(plain-text . org-e-man-plain-text)
(planning . org-e-man-planning)
(property-drawer . org-e-man-property-drawer)
(quote-block . org-e-man-quote-block)
(quote-section . org-e-man-quote-section)
(radio-target . org-e-man-radio-target)
(section . org-e-man-section)
(special-block . org-e-man-special-block)
(src-block . org-e-man-src-block)
(statistics-cookie . org-e-man-statistics-cookie)
(strike-through . org-e-man-strike-through)
(subscript . org-e-man-subscript)
(superscript . org-e-man-superscript)
(table . org-e-man-table)
(table-cell . org-e-man-table-cell)
(table-row . org-e-man-table-row)
(target . org-e-man-target)
(template . org-e-man-template)
(timestamp . org-e-man-timestamp)
(underline . org-e-man-underline)
(verbatim . org-e-man-verbatim)
(verse-block . org-e-man-verse-block))
"Alist between element or object types and translators.")
(defconst org-e-man-options-alist
'((:date "DATE" nil nil t)
(:man-class "MAN_CLASS" nil nil t)
(:man-class-options "MAN_CLASS_OPTIONS" nil nil t)
(:man-header-extra "MAN_HEADER" nil nil newline))
"Alist between Man export properties and ways to set them.
See `org-export-options-alist' for more information on the
structure of the values.")
(org-export-define-backend e-man
((babel-call . org-e-man-babel-call)
(bold . org-e-man-bold)
(center-block . org-e-man-center-block)
(clock . org-e-man-clock)
(code . org-e-man-code)
(comment . org-e-man-comment)
(comment-block . org-e-man-comment-block)
(drawer . org-e-man-drawer)
(dynamic-block . org-e-man-dynamic-block)
(entity . org-e-man-entity)
(example-block . org-e-man-example-block)
(export-block . org-e-man-export-block)
(export-snippet . org-e-man-export-snippet)
(fixed-width . org-e-man-fixed-width)
(footnote-definition . org-e-man-footnote-definition)
(footnote-reference . org-e-man-footnote-reference)
(headline . org-e-man-headline)
(horizontal-rule . org-e-man-horizontal-rule)
(inline-babel-call . org-e-man-inline-babel-call)
(inline-src-block . org-e-man-inline-src-block)
(inlinetask . org-e-man-inlinetask)
(italic . org-e-man-italic)
(item . org-e-man-item)
(keyword . org-e-man-keyword)
(man-environment . org-e-man-man-environment)
(man-fragment . org-e-man-man-fragment)
(line-break . org-e-man-line-break)
(link . org-e-man-link)
(paragraph . org-e-man-paragraph)
(plain-list . org-e-man-plain-list)
(plain-text . org-e-man-plain-text)
(planning . org-e-man-planning)
(property-drawer . org-e-man-property-drawer)
(quote-block . org-e-man-quote-block)
(quote-section . org-e-man-quote-section)
(radio-target . org-e-man-radio-target)
(section . org-e-man-section)
(special-block . org-e-man-special-block)
(src-block . org-e-man-src-block)
(statistics-cookie . org-e-man-statistics-cookie)
(strike-through . org-e-man-strike-through)
(subscript . org-e-man-subscript)
(superscript . org-e-man-superscript)
(table . org-e-man-table)
(table-cell . org-e-man-table-cell)
(table-row . org-e-man-table-row)
(target . org-e-man-target)
(template . org-e-man-template)
(timestamp . org-e-man-timestamp)
(underline . org-e-man-underline)
(verbatim . org-e-man-verbatim)
(verse-block . org-e-man-verse-block))
:export-block "MAN"
:menu-entry
(?m "Export to MAN"
((?m "As MAN file" org-e-man-export-to-man)
(?p "As PDF file" org-e-man-export-to-pdf)
(?o "As PDF file and open"
(lambda (s v b) (org-open-file (org-e-man-export-to-pdf s v b))))))
:options-alist
((:date "DATE" nil nil t)
(:man-class "MAN_CLASS" nil nil t)
(:man-class-options "MAN_CLASS_OPTIONS" nil nil t)
(:man-header-extra "MAN_HEADER" nil nil newline)))
@ -124,7 +125,6 @@ structure of the values.")
;;; Tables
(defcustom org-e-man-tables-centered t
"When non-nil, tables are exported in a center environment."
:group 'org-export-e-man
@ -286,16 +286,6 @@ These are the .aux, .log, .out, and .toc files."
:group 'org-export-e-man
:type 'boolean)
;; Preamble
;; Adding MAN as a block parser to make sure that its contents
;; does not execute
(add-to-list 'org-element-block-name-alist
'("MAN" . org-element-export-block-parser))
;;; Internal Functions

View File

@ -86,6 +86,12 @@
:filters-alist ((:filter-parse-tree
. (org-e-odt--translate-description-lists
org-e-odt--translate-list-tables)))
:menu-entry
(?o "Export to ODT"
((?o "As ODT file" org-e-odt-export-to-odt)
(?O "As ODT file and open"
(lambda (s v b)
(org-open-file (org-e-odt-export-to-odt s v b) 'system)))))
:options-alist
((:odt-styles-file "ODT_STYLES_FILE" nil nil t)
(:LaTeX-fragments nil "LaTeX" org-export-with-LaTeX-fragments)))

View File

@ -61,90 +61,80 @@
(defvar orgtbl-exp-regexp)
;;; Define Back-End
(defvar org-e-texinfo-translate-alist
'((bold . org-e-texinfo-bold)
(center-block . org-e-texinfo-center-block)
(clock . org-e-texinfo-clock)
(code . org-e-texinfo-code)
(comment . org-e-texinfo-comment)
(comment-block . org-e-texinfo-comment-block)
(drawer . org-e-texinfo-drawer)
(dynamic-block . org-e-texinfo-dynamic-block)
(entity . org-e-texinfo-entity)
(example-block . org-e-texinfo-example-block)
(export-block . org-e-texinfo-export-block)
(export-snippet . org-e-texinfo-export-snippet)
(fixed-width . org-e-texinfo-fixed-width)
(footnote-definition . org-e-texinfo-footnote-definition)
(footnote-reference . org-e-texinfo-footnote-reference)
(headline . org-e-texinfo-headline)
(horizontal-rule . org-e-texinfo-horizontal-rule)
(inline-src-block . org-e-texinfo-inline-src-block)
(inlinetask . org-e-texinfo-inlinetask)
(italic . org-e-texinfo-italic)
(item . org-e-texinfo-item)
(keyword . org-e-texinfo-keyword)
(latex-environment . org-e-texinfo-latex-environment)
(latex-fragment . org-e-texinfo-latex-fragment)
(line-break . org-e-texinfo-line-break)
(link . org-e-texinfo-link)
(paragraph . org-e-texinfo-paragraph)
(plain-list . org-e-texinfo-plain-list)
(plain-text . org-e-texinfo-plain-text)
(planning . org-e-texinfo-planning)
(property-drawer . org-e-texinfo-property-drawer)
(quote-block . org-e-texinfo-quote-block)
(quote-section . org-e-texinfo-quote-section)
(radio-target . org-e-texinfo-radio-target)
(section . org-e-texinfo-section)
(special-block . org-e-texinfo-special-block)
(src-block . org-e-texinfo-src-block)
(statistics-cookie . org-e-texinfo-statistics-cookie)
(strike-through . org-e-texinfo-strike-through)
(subscript . org-e-texinfo-subscript)
(superscript . org-e-texinfo-superscript)
(table . org-e-texinfo-table)
(table-cell . org-e-texinfo-table-cell)
(table-row . org-e-texinfo-table-row)
(target . org-e-texinfo-target)
(template . org-e-texinfo-template)
(timestamp . org-e-texinfo-timestamp)
(underline . org-e-texinfo-underline)
(verbatim . org-e-texinfo-verbatim)
(verse-block . org-e-texinfo-verse-block))
"Alist between element or object types and translators.")
(org-export-define-backend e-texinfo
((bold . org-e-texinfo-bold)
(center-block . org-e-texinfo-center-block)
(clock . org-e-texinfo-clock)
(code . org-e-texinfo-code)
(comment . org-e-texinfo-comment)
(comment-block . org-e-texinfo-comment-block)
(drawer . org-e-texinfo-drawer)
(dynamic-block . org-e-texinfo-dynamic-block)
(entity . org-e-texinfo-entity)
(example-block . org-e-texinfo-example-block)
(export-block . org-e-texinfo-export-block)
(export-snippet . org-e-texinfo-export-snippet)
(fixed-width . org-e-texinfo-fixed-width)
(footnote-definition . org-e-texinfo-footnote-definition)
(footnote-reference . org-e-texinfo-footnote-reference)
(headline . org-e-texinfo-headline)
(horizontal-rule . org-e-texinfo-horizontal-rule)
(inline-src-block . org-e-texinfo-inline-src-block)
(inlinetask . org-e-texinfo-inlinetask)
(italic . org-e-texinfo-italic)
(item . org-e-texinfo-item)
(keyword . org-e-texinfo-keyword)
(latex-environment . org-e-texinfo-latex-environment)
(latex-fragment . org-e-texinfo-latex-fragment)
(line-break . org-e-texinfo-line-break)
(link . org-e-texinfo-link)
(paragraph . org-e-texinfo-paragraph)
(plain-list . org-e-texinfo-plain-list)
(plain-text . org-e-texinfo-plain-text)
(planning . org-e-texinfo-planning)
(property-drawer . org-e-texinfo-property-drawer)
(quote-block . org-e-texinfo-quote-block)
(quote-section . org-e-texinfo-quote-section)
(radio-target . org-e-texinfo-radio-target)
(section . org-e-texinfo-section)
(special-block . org-e-texinfo-special-block)
(src-block . org-e-texinfo-src-block)
(statistics-cookie . org-e-texinfo-statistics-cookie)
(strike-through . org-e-texinfo-strike-through)
(subscript . org-e-texinfo-subscript)
(superscript . org-e-texinfo-superscript)
(table . org-e-texinfo-table)
(table-cell . org-e-texinfo-table-cell)
(table-row . org-e-texinfo-table-row)
(target . org-e-texinfo-target)
(template . org-e-texinfo-template)
(timestamp . org-e-texinfo-timestamp)
(underline . org-e-texinfo-underline)
(verbatim . org-e-texinfo-verbatim)
(verse-block . org-e-texinfo-verse-block))
:export-block "TEXINFO"
:filters-alist
((:filter-headline . org-e-texinfo-filter-section-blank-lines)
(:filter-section . org-e-texinfo-filter-section-blank-lines))
:menu-entry
(?i "Export to Texinfo"
((?t "As TEXI file" org-e-texinfo-export-to-texinfo)
(?i "As INFO file" org-e-texinfo-export-to-info)))
:options-alist
((:texinfo-filename "TEXINFO_FILENAME" nil org-e-texinfo-filename t)
(:texinfo-class "TEXINFO_CLASS" nil org-e-texinfo-default-class t)
(:texinfo-header "TEXINFO_HEADER" nil nil newline)
(:subtitle "SUBTITLE" nil nil newline)
(:subauthor "SUBAUTHOR" nil nil newline)
(:texinfo-dircat "TEXINFO_DIR_CATEGORY" nil nil t)
(:texinfo-dirtitle "TEXINFO_DIR_TITLE" nil nil t)
(:texinfo-dirdesc "TEXINFO_DIR_DESC" nil nil t)))
(defconst org-e-texinfo-options-alist
'((:texinfo-filename "TEXINFO_FILENAME" nil org-e-texinfo-filename t)
(:texinfo-class "TEXINFO_CLASS" nil org-e-texinfo-default-class t)
(:texinfo-header "TEXINFO_HEADER" nil nil newline)
(:subtitle "SUBTITLE" nil nil newline)
(:subauthor "SUBAUTHOR" nil nil newline)
(:texinfo-dircat "TEXINFO_DIR_CATEGORY" nil nil t)
(:texinfo-dirtitle "TEXINFO_DIR_TITLE" nil nil t)
(:texinfo-dirdesc "TEXINFO_DIR_DESC" nil nil t))
"Alist between Texinfo export properties and ways to set them.
See `org-export-options-alist' for more information on the
structure of the values.
SUBAUTHOR and SUBTITLE are for the inclusion of additional author
and title information beyond the initial variable.")
(defconst org-e-texinfo-filters-alist
'((:filter-headline . org-e-texinfo-filter-section-blank-lines)
(:filter-section . org-e-texinfo-filter-section-blank-lines))
"Alist between filters keywords and back-end specific filters.
See `org-export-filters-alist' for more information")
;;; Internal Variables
;; Add TEXINFO to the list of available of available export blocks.
(add-to-list 'org-element-block-name-alist
'("TEXINFO" . org-element-export-block-parser))
;;; User Configurable Variables

View File

@ -56,6 +56,12 @@ This variable can be set to either `atx' or `setext'."
(org-export-define-derived-backend md e-html
:export-block ("MD" "MARKDOWN")
:filters-alist ((:filter-parse-tree . org-md-separate-elements))
:menu-entry
(?m "Export to Markdown"
((?M "To temporary buffer" org-md-export-as-markdown)
(?m "To file" org-md-export-to-markdown)
(?o "To file and open"
(lambda (s v b) (org-open-file (org-md-export-to-markdown s v b))))))
:translate-alist ((bold . org-md-bold)
(code . org-md-verbatim)
(example-block . org-md-example-block)