====== 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.

The **Namespace** can be used to select which pages you want to export. To export all pages the top namespace is just ":".

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 ====

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 ====
* Better standards-compliant templates
* 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.
