====== Exporting ======

**Zim** will be able to export content to various formats but at the moment only exporting to (simple) Html is supported.

To open op the export dialog in **zim** use the "//File//->//Export//" menu item. This dialog asks for a number of input fields before you can start exporting.

To select the **Pages** you want to export you can check "All" if you want to export the whole tree, or you can check "Page" if you want to export a selection.

When you make a selection you can enter one or more pages or namespaces in the text entry field separated by spaces. namespaces always end with a ":", pages do not. The **Recursive** option automatically adds the coresponding namespace for each page when set.

The **Format** is fixed on "Html" for now. Later other options will be added here.

The **Template** field asks you to select a template file (see below). When you select "''other...''" in the combo box you can fill in a file name in the text input field below the combo box.

Finally an **Output dir** is required, this is the directory name where you want to save the exported pages. This can be a non-existing directory. You can use "''~/''" to refer to you home directory here.

===== Templates =====

==== Available templates ====

=== "Default" ===
This template is the most basic possible template. It has an inline style definition that is intended to match the (default) look of zim.

=== "Presentation" ===
Template with a little more color than "Default". Simple javascript included for some basic keybindings:

	Enter             next page
	Spacebar          next page
	backspace         previous page

=== "SlideShow (S5)" ===
Template based on S5. S5 is "A Simple Standards-Based Slide Show System", which mean a slide show system completely written in html and javascript. Therefor these slide shows can be presented using a browser and be put on a website. See [[http://meyerweb.com/eric/tools/s5/|the S5 website]] for more information.

Note that in order to use the output from this template you need to download the S5 package and copy the "ui" directory from the package to the same directory where you export your slideshow to.

==== Source ====
The export code only produces the tags that represent the content of the page. It does not add elements like a ''<head>'' section. Templates are used to create complete Html pages. A few standard templates are packaged with **zim**, but you can also make your own.

The GUI indexes templates that are located in either ''/usr/share/zim/templates/'' or ''~/.local/share/zim/templates''. You can add templates you use more often there.

Tags that templates can contain:

//Warning: these might change in future releases.//

	[% TITLE %]
	[% ZIM_VERSION %]
	[% PREV_FILE %]
	[% NEXT_FILE %]
	[% ROOT_DIR  %]
	[% BODY %]

The "Title" field contains either the first heading in the page or the page name. If the first header is used, this header is removed from the "Body" field.

===== Exporting from the commandline =====

Try something like:

	$ zim --export format=html,template=./foo.html,root=./html ~/docs/zim :notes:

This should export the ''notes:'' namespace from the repository in //~/docs///
to Html using template //foo.html//. The "root" of the export string is the directory used for the exporter output.

You can also add the option ''recurs=0'' if you don't want to export sub-namespaces. This option defaults to 1.

===== TODO =====
* Set an header offset, for example if offset is 2 all head1 => head2, all head2 => head3 etc. This is useful when the template also contains headers. 
* Have the option to compile a namespace into one big page.
