diff options
author | Bastien Guerry <bzg@altern.org> | 2013-04-09 16:37:49 +0200 |
---|---|---|
committer | Bastien Guerry <bzg@altern.org> | 2013-04-09 16:37:49 +0200 |
commit | 330a3762b5caad09379f3c4b8045978d53c28288 (patch) | |
tree | 4c6581181c770a691548b7a9d07ee1a7c16d3b4b | |
parent | 872e3736d7f9582288e7a53690972d5e1c0cac31 (diff) | |
download | org-mode-330a3762b5caad09379f3c4b8045978d53c28288.tar.gz |
org.texi (Adding hyperlink types): New appendix
* org.texi (Adding hyperlink types): New appendix.
-rw-r--r-- | doc/org.texi | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/doc/org.texi b/doc/org.texi index e6a7716..36acb75 100644 --- a/doc/org.texi +++ b/doc/org.texi @@ -744,6 +744,7 @@ Hacking * Hooks:: How to reach into Org's internals * Add-on packages:: Available extensions * Adding hyperlink types:: New custom link types +* Adding export back-ends:: How to write new export back-ends * Context-sensitive commands:: How to add functionality to such commands * Tables in arbitrary syntax:: Orgtbl for @LaTeX{} and other programs * Dynamic blocks:: Automatically filled blocks @@ -15619,6 +15620,7 @@ Org. * Hooks:: How to reach into Org's internals * Add-on packages:: Available extensions * Adding hyperlink types:: New custom link types +* Adding export back-ends:: How to write new export back-ends * Context-sensitive commands:: How to add functionality to such commands * Tables in arbitrary syntax:: Orgtbl for @LaTeX{} and other programs * Dynamic blocks:: Automatically filled blocks @@ -15652,7 +15654,7 @@ documentation about each package, is maintained by the Worg project at -@node Adding hyperlink types, Context-sensitive commands, Add-on packages, Hacking +@node Adding hyperlink types, Adding export back-ends, Add-on packages, Hacking @section Adding hyperlink types @cindex hyperlinks, adding new types @@ -15755,7 +15757,37 @@ When it makes sense for your new link type, you may also define a function support for inserting such a link with @kbd{C-c C-l}. Such a function should not accept any arguments, and return the full link with prefix. -@node Context-sensitive commands, Tables in arbitrary syntax, Adding hyperlink types, Hacking +@node Adding export back-ends, Context-sensitive commands, Adding hyperlink types, Hacking +@section Adding export back-ends +@cindex Export, writing back-ends + +Org 8.0 comes with a completely rewritten export engine which makes it easy +to write new export back-ends, either from scratch, or from deriving them +from existing ones. + +Your two entry points are respectively @code{org-export-define-backend} and +@code{org-export-define-derived-backend}. To grok these functions, you +should first have a look at @file{ox-latex.el} (for how to define a new +back-end from scratch) and @file{ox-beamer.el} (for how to derive a new +back-end from an existing one. + +When creating a new back-end from scratch, the basic idea is to set the name +of the back-end (as a symbol) and an an alist of elements and export +functions. On top of this, you will need to set additional keywords like +@code{:menu-entry} (to display the back-end in the export dispatcher), +@code{:export-block} (to specify what blocks should not be exported by this +back-end), and @code{:options-alist} (to let the user set export options that +are specific to this back-end.) + +Deriving a new back-end is similar, except that you need to set +@code{:translate-alist} to an alist of export functions that should be used +instead of the parent back-end functions. + +For a complete reference documentation, see +@url{http://orgmode.org/worg/dev/org-export-reference.html, the Org Export +Reference on Worg}. + +@node Context-sensitive commands, Tables in arbitrary syntax, Adding export back-ends, Hacking @section Context-sensitive commands @cindex context-sensitive commands, hooks @cindex add-ons, context-sensitive commands |