Next: Context-sensitive commands, Previous: Adding hyperlink types, Up: Hacking [Contents][Index]

### A.4 Adding export 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 `org-export-define-backend` and `org-export-define-derived-backend`. To grok these functions, you should first have a look at `ox-latex.el` (for how to define a new back-end from scratch) and `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 `:menu-entry` (to display the back-end in the export dispatcher), `:export-block` (to specify what blocks should not be exported by this back-end), and `: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 `: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 the Org Export Reference on Worg.