adds dav-sync introduction and sync.xml documentation

Sun, 06 Aug 2017 14:41:20 +0200

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Sun, 06 Aug 2017 14:41:20 +0200
changeset 283
0e36bb75a732
parent 282
3070d72f54af
child 284
8e7ef0675946

adds dav-sync introduction and sync.xml documentation

docs/html/add-directory.html file | annotate | diff | comparison | revisions
docs/html/add-repository.html file | annotate | diff | comparison | revisions
docs/html/check-config.html file | annotate | diff | comparison | revisions
docs/html/check-repositories.html file | annotate | diff | comparison | revisions
docs/html/commands.html file | annotate | diff | comparison | revisions
docs/html/configuration.html file | annotate | diff | comparison | revisions
docs/html/copy.html file | annotate | diff | comparison | revisions
docs/html/date.html file | annotate | diff | comparison | revisions
docs/html/delete-conflicts.html file | annotate | diff | comparison | revisions
docs/html/empty-trash.html file | annotate | diff | comparison | revisions
docs/html/encryption.html file | annotate | diff | comparison | revisions
docs/html/get-property.html file | annotate | diff | comparison | revisions
docs/html/get.html file | annotate | diff | comparison | revisions
docs/html/getting-started.html file | annotate | diff | comparison | revisions
docs/html/info.html file | annotate | diff | comparison | revisions
docs/html/introduction.html file | annotate | diff | comparison | revisions
docs/html/list-directories.html file | annotate | diff | comparison | revisions
docs/html/list-repositories.html file | annotate | diff | comparison | revisions
docs/html/list.html file | annotate | diff | comparison | revisions
docs/html/lock.html file | annotate | diff | comparison | revisions
docs/html/mkdir.html file | annotate | diff | comparison | revisions
docs/html/move.html file | annotate | diff | comparison | revisions
docs/html/pull.html file | annotate | diff | comparison | revisions
docs/html/push.html file | annotate | diff | comparison | revisions
docs/html/put.html file | annotate | diff | comparison | revisions
docs/html/remove.html file | annotate | diff | comparison | revisions
docs/html/resolve-conflicts.html file | annotate | diff | comparison | revisions
docs/html/set-property.html file | annotate | diff | comparison | revisions
docs/html/sync-check-config.html file | annotate | diff | comparison | revisions
docs/html/sync-commands.html file | annotate | diff | comparison | revisions
docs/html/sync-configuration.html file | annotate | diff | comparison | revisions
docs/html/trash-info.html file | annotate | diff | comparison | revisions
docs/html/unlock.html file | annotate | diff | comparison | revisions
docs/src/add-directory.md file | annotate | diff | comparison | revisions
docs/src/add-repository.md file | annotate | diff | comparison | revisions
docs/src/check-config.md file | annotate | diff | comparison | revisions
docs/src/check-repositories.md file | annotate | diff | comparison | revisions
docs/src/commands.md file | annotate | diff | comparison | revisions
docs/src/configuration.md file | annotate | diff | comparison | revisions
docs/src/copy.md file | annotate | diff | comparison | revisions
docs/src/date.md file | annotate | diff | comparison | revisions
docs/src/delete-conflicts.md file | annotate | diff | comparison | revisions
docs/src/empty-trash.md file | annotate | diff | comparison | revisions
docs/src/encryption.md file | annotate | diff | comparison | revisions
docs/src/get-property.md file | annotate | diff | comparison | revisions
docs/src/get.md file | annotate | diff | comparison | revisions
docs/src/getting-started.md file | annotate | diff | comparison | revisions
docs/src/info.md file | annotate | diff | comparison | revisions
docs/src/introduction.md file | annotate | diff | comparison | revisions
docs/src/list-directories.md file | annotate | diff | comparison | revisions
docs/src/list-repositories.md file | annotate | diff | comparison | revisions
docs/src/list.md file | annotate | diff | comparison | revisions
docs/src/lock.md file | annotate | diff | comparison | revisions
docs/src/mkdir.md file | annotate | diff | comparison | revisions
docs/src/move.md file | annotate | diff | comparison | revisions
docs/src/pull.md file | annotate | diff | comparison | revisions
docs/src/push.md file | annotate | diff | comparison | revisions
docs/src/put.md file | annotate | diff | comparison | revisions
docs/src/remove.md file | annotate | diff | comparison | revisions
docs/src/resolve-conflicts.md file | annotate | diff | comparison | revisions
docs/src/set-property.md file | annotate | diff | comparison | revisions
docs/src/sync-check-config.md file | annotate | diff | comparison | revisions
docs/src/sync-commands.md file | annotate | diff | comparison | revisions
docs/src/sync-configuration.md file | annotate | diff | comparison | revisions
docs/src/trash-info.md file | annotate | diff | comparison | revisions
docs/src/unlock.md file | annotate | diff | comparison | revisions
--- a/docs/html/add-directory.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/add-directory.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>dav-sync add-directory</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,7 +64,9 @@
 
 <!-- begin content -->
 <div class="content">
-<h1 id="dav-sync-add-directory">dav-sync add-directory</h1>
+<div id="header">
+<h1 class="title">dav-sync add-directory</h1>
+</div>
 <p>This command runs an interactive assistant that creates a <a href="./sync-configuration.html">sync-directory configuration</a> and adds it to the sync.xml file. Before running this command, a repository must be created. See <a href="./add-repository.html">dav add-repository</a>.</p>
 <p><strong>Command alias:</strong> add-dir</p>
 <p>The assistant firstly asks for a unique sync-directory name. This may not match the physical directory name. If you are not sure, which names are already in use, you can get a list of currently present sync-directories with <a href="./list-directories.html">dav-sync list-directories</a>. Then you specifiy the local path, select the dav repository and specify the collection within that repository. You may use environment variables like <code>$HOME</code> within the path name. A call of <code>add-directory</code> may look like this.</p>
--- a/docs/html/add-repository.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/add-repository.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>dav add-repository</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,7 +64,9 @@
 
 <!-- begin content -->
 <div class="content">
-<h1 id="dav-add-repository">dav add-repository</h1>
+<div id="header">
+<h1 class="title">dav add-repository</h1>
+</div>
 <p>This command runs an interactive assistant that creates a repository <a href="./configuration.html">configuration</a> and adds it to the config.xml file.</p>
 <p><strong>Command alias:</strong> add-repo</p>
 <p>The assistant firstly asks for a unique repository name. If you are not sure, which names are already in use, you can get a list of currently present repositories with <a href="./list-repositories.html">dav list-repositories</a>. Then you specifiy the base URL and optional authentication information. Please keep in mind, that the password is stored base64 encoded in your configuration. If you do not want this to happen, leave the password blank. <code>dav</code> will ask you for the password when accessing the repository. Beware that you don't use password prompt in background jobs, though. A call of <code>add-repository</code> may look like this.</p>
--- a/docs/html/check-config.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/check-config.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>dav check-config</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,7 +64,9 @@
 
 <!-- begin content -->
 <div class="content">
-<h1 id="dav-check-config">dav check-config</h1>
+<div id="header">
+<h1 class="title">dav check-config</h1>
+</div>
 <p>Validates the config.xml file. If the config is ok, it prints <code>Configuration OK.</code> to stdout and returns 0, otherwise it prints an error message to stderr and returns 1.</p>
 <p><strong>Command alias:</strong> check</p>
 </div>
--- a/docs/html/check-repositories.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/check-repositories.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>dav-sync check-repositories</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,7 +64,9 @@
 
 <!-- begin content -->
 <div class="content">
-<h1 id="dav-sync-check-repositories">dav-sync check-repositories</h1>
+<div id="header">
+<h1 class="title">dav-sync check-repositories</h1>
+</div>
 <p>Checks if every repository used by sync-directories is configured and available. This command outputs the status for each repository. It returns zero when all repositories are all available and non-zero otherwise.</p>
 <p><strong>Command alias:</strong> check-repos</p>
 </div>
--- a/docs/html/commands.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/commands.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>Commands</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,7 +64,9 @@
 
 <!-- begin content -->
 <div class="content">
-<h1 id="commands">Commands</h1>
+<div id="header">
+<h1 class="title">Commands</h1>
+</div>
 <h2 id="overview">Overview</h2>
 <p>List resources:</p>
 <pre><code>dav list &lt;url&gt;</code></pre>
--- a/docs/html/configuration.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/configuration.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>Configuration</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,7 +64,9 @@
 
 <!-- begin content -->
 <div class="content">
-<h1 id="configuration">Configuration</h1>
+<div id="header">
+<h1 class="title">Configuration</h1>
+</div>
 <p>The main configuration file for <em>dav</em> is <code>$HOME/.dav/config.xml</code> and is used for configuring repositories, proxies and encryption keys. This configuration is also used by <em>dav-sync</em>. The file is created automaticaly if it doesn't exist.</p>
 <p>The <em>config.xml</em> file is an XML file with <code>&lt;configuration&gt;</code> as root element. The <code>&lt;configuration&gt;</code> element can have the following child elements: <code>&lt;repository&gt;</code>, <code>&lt;http-proxy&gt;</code>, <code>&lt;https-proxy&gt;</code>, <code>&lt;key&gt;</code></p>
 <h2 id="repository">repository</h2>
--- a/docs/html/copy.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/copy.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>dav copy</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,7 +64,9 @@
 
 <!-- begin content -->
 <div class="content">
-<h1 id="dav-copy">dav copy</h1>
+<div id="header">
+<h1 class="title">dav copy</h1>
+</div>
 <p><strong><code>copy [-pcO] [-L &lt;lock&gt;] &lt;url1&gt; &lt;url2&gt;</code></strong></p>
 <p>Creates a duplicate of the resource identified by <em>url1</em> at the location <em>url2</em>. All resource properties are copied. Currently <em>url1</em> and <em>url2</em> must be the same host.</p>
 <p>If <em>url1</em> is a collection, all children are copied.</p>
--- a/docs/html/date.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/date.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>dav date</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,7 +64,9 @@
 
 <!-- begin content -->
 <div class="content">
-<h1 id="dav-date">dav date</h1>
+<div id="header">
+<h1 class="title">dav date</h1>
+</div>
 <p><strong><code>date [url]</code></strong></p>
 <p>The purpose of this command is to get the current date from a server and print it to stdout (HTTP date format). This in useful in combination with the <strong><code>-u</code></strong> option for the <code>list</code> and <code>get</code> command.</p>
 <p>The <em>url</em> can be any http url. If no <em>url</em> is specified, the local time is used.</p>
--- a/docs/html/delete-conflicts.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/delete-conflicts.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>dav-sync delete-conflicts</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,7 +64,9 @@
 
 <!-- begin content -->
 <div class="content">
-<h1 id="dav-sync-delete-conflicts">dav-sync delete-conflicts</h1>
+<div id="header">
+<h1 class="title">dav-sync delete-conflicts</h1>
+</div>
 <p><strong><code>delete-conflicts &lt;directory&gt;</code></strong></p>
 <p>Deletes all files that are marked as a conflict. This will always delete the files and does not move them to the trash directory.</p>
 </div>
--- a/docs/html/empty-trash.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/empty-trash.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>dav-sync empty-trash</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,7 +64,9 @@
 
 <!-- begin content -->
 <div class="content">
-<h1 id="dav-sync-empty-trash">dav-sync empty-trash</h1>
+<div id="header">
+<h1 class="title">dav-sync empty-trash</h1>
+</div>
 <p><strong><code>empty-trash &lt;directory&gt;</code></strong></p>
 <p>Removes all files from the trash directory of the given sync-directory.</p>
 </div>
--- a/docs/html/encryption.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/encryption.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>Encryption</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,7 +64,9 @@
 
 <!-- begin content -->
 <div class="content">
-<h1 id="encryption">Encryption</h1>
+<div id="header">
+<h1 class="title">Encryption</h1>
+</div>
 <p>The davutils programs have an integrated client-side encryption feature, that allows you to encrypt and decrypt on the fly with AES256 or AES128. To use this feature, the server <strong>must</strong> support WebDAV dead properties.</p>
 <p>The tools support both, encryption of the resource content and encryption of the resource name. Each resource is encrypted separately. With activated name encryption, the actual resource name is disguised by a random name but the name used by the client is stored encrypted as a WebDAV property. This means, an attacker can see the directory structure and the file length, but can't guess the file names and in particular which files have the same name.</p>
 <p>To enable encryption a key must be configured in <code>$HOME/.dav/config.xml</code>. A key must have a unique name. To access encrypted resources, all clients must configure the same key with the same name. Currently a key can only be loaded from a file and not generated from a password.</p>
--- a/docs/html/get-property.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/get-property.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>dav get-property</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,7 +64,9 @@
 
 <!-- begin content -->
 <div class="content">
-<h1 id="dav-get-property">dav get-property</h1>
+<div id="header">
+<h1 class="title">dav get-property</h1>
+</div>
 <p><strong><code>get-property [-pc] [-n &lt;uri&gt;] &lt;url&gt; &lt;property&gt;</code></strong></p>
 <p>Gets a specific resource property. Every WebDAV property has a name and an XML namespace. A namespace can be specified with the <code>-n</code> option or with a prefixed name. The prefix and property name are separated by a <strong>:</strong> as usual.</p>
 <p>Example: <code>D:creationdate</code></p>
--- a/docs/html/get.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/get.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>dav get</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,7 +64,9 @@
 
 <!-- begin content -->
 <div class="content">
-<h1 id="dav-get">dav get</h1>
+<div id="header">
+<h1 class="title">dav get</h1>
+</div>
 <p><strong><code>get [-pcR] [-o &lt;file&gt;] [-u &lt;date&gt;] &lt;url&gt;</code></strong></p>
 <p>Downloads a resource. This command also downloads collections and its child resources when the <strong><code>-R</code></strong> option is used. When downloading a single resource, the default local file name is the resource name. When downloading collections, it does <strong>not</strong> create a local directory with the collection's name and places its children in there, but it downloads the children directly to the current working directory.</p>
 <p><strong><code>-p</code></strong> disable file name and content decryption. You get exactly what is stored on the server.</p>
--- a/docs/html/getting-started.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/getting-started.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>Getting started</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,7 +64,9 @@
 
 <!-- begin content -->
 <div class="content">
-<h1 id="getting-started">Getting started</h1>
+<div id="header">
+<h1 class="title">Getting started</h1>
+</div>
 <h3 id="test">Test</h3>
 <p>After successful installation you can test dav with your WebDAV server.</p>
 <pre><code>dav list http://example.com/webdav/</code></pre>
--- a/docs/html/info.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/info.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>dav info</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,7 +64,9 @@
 
 <!-- begin content -->
 <div class="content">
-<h1 id="dav-info">dav info</h1>
+<div id="header">
+<h1 class="title">dav info</h1>
+</div>
 <p><strong><code>info [-pc] &lt;url&gt;</code></strong></p>
 <p>Prints some information and lists all properties for the resource specified by <em>url</em>.</p>
 <h3 id="example-1-info-of-a-collection">Example 1: info of a collection</h3>
--- a/docs/html/introduction.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/introduction.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>Introduction to dav-sync</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,7 +64,77 @@
 
 <!-- begin content -->
 <div class="content">
+<div id="header">
+<h1 class="title">Introduction to dav-sync</h1>
+</div>
+<p>The dav-sync program can synchronize a local directory with a WebDAV collection.</p>
+<h2 id="first-steps">First Steps</h2>
+<p>To use dav-sync it is required to configure a repository in <a href="./configuration.html">config.xml</a> and the directory in <a href="./sync-configuration.html">sync.xml</a>.</p>
+<p>Create a repository with <a href="./add-repository.html">dav add-repository</a>. Unlike <em>dav</em>, <em>dav-sync</em> is not interactive and never shows an authentication prompt. Therefore the user and password <strong>must</strong> be specified if the server requires authentication.</p>
+<pre><code>$ dav add-repository
+Each repository must have an unique name.
+name: myfirstrepo
 
+Specify the repository base url.
+url: http://example.com/webdav/
+
+User for HTTP authentication.
+user (optional): myuser
+password (optional): </code></pre>
+<p>After the repository is created, configure a sync-directory with <a href="./add-directory.html">dav-sync add-directory</a>.</p>
+<pre><code>$ dav-sync add-directory
+Each sync directory must have an unique name.
+name: mysyncdir
+Enter local directory path.
+path: $HOME/important_files
+Specify webdav repository.
+0) myfirstrepo
+1) anotherrepo
+repository: 0
+Enter collection relative to the repository base url.
+collection (default: /): /important_files</code></pre>
+<p>The specified name is just an identifier and will be used with other dav-sync commands like <em>pull</em> and <em>push</em>.</p>
+<p>After the configuration is created, you can synchronize your files. There are two commands for it: <em>pull</em> and <em>push</em>.</p>
+<p>With <em>pull</em> you can apply all changes on the server to your local directory. The command scans the server and detects modified files and which files are deleted. All modified files will be downloadet and all deleted files will be locally removed (or moved to the trash directory). The first time you will run <em>pull</em> for a directory this will just download all files from the WebDAV collection.</p>
+<p>You can run the <em>pull</em> command with:</p>
+<pre><code>dav-sync pull mysyncdir</code></pre>
+<p>The <em>push</em> command scans your local directory for changes, uploads all modified files and removes all locally deleted files from the server.</p>
+<pre><code>dav-sync push mysyncdir</code></pre>
+<h2 id="database">Database</h2>
+<p>Every sync-directory has a database xml file that contains the etag and last modified date of each file. The etag is used to detect changes on the server and the last modified date is used to detect local changes. The database file is usually located in <em>$HOME/.dav/</em> and if you want to reset a sync-directory, you can delete the database. After that, <em>pull</em>/<em>push</em> (with disabled conflict detection) will download/upload all files.</p>
+<h2 id="conflict-detection">Conflict detection</h2>
+<p>The <em>pull</em> and <em>push</em> commands detect if a file has changed remotely and locally. This is a conflict that must be resolved manually.</p>
+<p>When <em>pull</em> detects a conflict it renames the local file to <em>orig-$number.$name</em> where <em>$number</em> is an integer, usually 0 if no other conflict file with the name exists and <em>$name</em> is the file's name. After the file is renamed the new file from the server is downloadet. The user should merge the files manually then or just delete one or keep both. After that run <em>resolve-conflicts</em> to remove all conflict entries from the database otherwise <em>push</em> will ignore any file in a conflict state. There is also the <em>delete-conflicts</em> command that deletes all conflict files.</p>
+<p>When <em>push</em> detects that a file is modified locally and on the server, it just skips this file. Run the <em>pull</em> command to get the new file from the server and resolve the conflict like described above.</p>
+<h2 id="trash">Trash</h2>
+<p>For high data safety, a trash directory can be configured. If this is done, dav-sync will not delete files, but move them to the trash directory. Also the pull command can move files to the trash directory before overwriting them.</p>
+<p>To enable the trash, add the <code>&lt;trash&gt;</code> element to the directory config. The trash path can be absolute or relative to the sync-directory path.</p>
+<pre><code>&lt;directory&gt;
+    &lt;name&gt;mydir&lt;/name&gt;
+    &lt;path&gt;$HOME/myfiles&lt;/path&gt;
+    &lt;repository&gt;myrepo&lt;/repository&gt;
+    &lt;database&gt;mydir-db.xml&lt;/database&gt;
+    
+    &lt;!-- enable trash dir --&gt;
+    &lt;trash&gt;.trash&lt;/trash&gt;
+&lt;/directory&gt;</code></pre>
+<p>Files inside the trash directory will not be synchronized with the server.</p>
+<p>Add the <code>&lt;backup-on-pull&gt;</code> element if you want to backup files to the trash directory before they are overwritten.</p>
+<pre><code>&lt;directory&gt;
+    ...
+    
+    &lt;backup-on-pull&gt;true&lt;/backup-on-pull&gt;
+&lt;directory&gt;</code></pre>
+<h2 id="locking">Locking</h2>
+<p>It is highly recommended to lock the repository if it is expected that multiple users want to access and modify the repository simultaneously. Locking can be enabled with the <code>-l</code> option when using the <em>pull</em> or <em>push</em> command, or it can be permanently enabled in <em>sync.xml</em> for a directory with the <code>&lt;lock-pull&gt;</code> and <code>&lt;lock-push&gt;</code> elements.</p>
+<pre><code>&lt;directory&gt;
+    ...
+    &lt;lock-pull&gt;true&lt;/lock-pull&gt;
+    &lt;lock-push&gt;true&lt;/lock-push&gt;
+&lt;/directory&gt;</code></pre>
+<p>See <a href="./configuration.html">Configuration</a> for details.</p>
+<h2 id="encryption">Encryption</h2>
+<p>The <em>dav-sync</em> program uses the same repository settings as <em>dav</em>. If encryption is enabled for a repository, <em>dav-sync</em> stores files encrypted on the server. See <a href="./encryption.html">Encryption</a> for details.</p>
 </div>
 <!-- end content -->
 </body>
--- a/docs/html/list-directories.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/list-directories.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>dav-sync list-directories</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,7 +64,9 @@
 
 <!-- begin content -->
 <div class="content">
-<h1 id="dav-sync-list-directories">dav-sync list-directories</h1>
+<div id="header">
+<h1 class="title">dav-sync list-directories</h1>
+</div>
 <p>This command lists all configured sync-directories.</p>
 <p><strong>Command alias:</strong> list-dirs</p>
 </div>
--- a/docs/html/list-repositories.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/list-repositories.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>dav list-repositories</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,7 +64,9 @@
 
 <!-- begin content -->
 <div class="content">
-<h1 id="dav-list-repositories">dav list-repositories</h1>
+<div id="header">
+<h1 class="title">dav list-repositories</h1>
+</div>
 <p>This command lists all configured repositories.</p>
 <p><strong>Command alias:</strong> list-repos</p>
 </div>
--- a/docs/html/list.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/list.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>dav list</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,7 +64,9 @@
 
 <!-- begin content -->
 <div class="content">
-<h1 id="dav-list">dav list</h1>
+<div id="header">
+<h1 class="title">dav list</h1>
+</div>
 <p><strong><code>dav list [-altepcR] [-u &lt;date&gt;] &lt;url&gt;</code></strong></p>
 <p>Lists child resources of the specified collection. Without any option it shows only the direct children and hides files beginning with a dot. The behavior is quite similar to that of the unix tool <code>ls</code>.</p>
 <h2 id="options">Options</h2>
--- a/docs/html/lock.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/lock.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>dav lock</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,7 +64,9 @@
 
 <!-- begin content -->
 <div class="content">
-<h1 id="dav-lock">dav lock</h1>
+<div id="header">
+<h1 class="title">dav lock</h1>
+</div>
 <p><strong><code>lock [-pc] &lt;url&gt;</code></strong></p>
 <p>Creates a lock on the resource specified by the <em>url</em>. The lock is an exclusive write lock with infinite depth.</p>
 <p>If the resource is successfully locked, a lock token for this resource is printed to stdout. This lock token should be saved somewhere to unlock the resource eventually.</p>
--- a/docs/html/mkdir.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/mkdir.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>dav mkdir</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,7 +64,9 @@
 
 <!-- begin content -->
 <div class="content">
-<h1 id="dav-mkdir">dav mkdir</h1>
+<div id="header">
+<h1 class="title">dav mkdir</h1>
+</div>
 <p><strong><code>mkdir [-pc] [-k &lt;key&gt;] [-L &lt;lock&gt;] &lt;url&gt;</code></strong></p>
 <p>Creates a collection. All intermediate collections are also created as necessary.</p>
 <p><strong><code>-p</code></strong> disable file name encryption and decryption</p>
--- a/docs/html/move.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/move.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>dav move</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,7 +64,9 @@
 
 <!-- begin content -->
 <div class="content">
-<h1 id="dav-move">dav move</h1>
+<div id="header">
+<h1 class="title">dav move</h1>
+</div>
 <p><strong><code>move [-pcO] [-L &lt;lock&gt;] &lt;url&gt; &lt;url&gt;</code></strong></p>
 <p>Moves the resource identified by <em>url1</em> to the location <em>url2</em>. Currently <em>url1</em> and <em>url2</em> must be on the same host.</p>
 <p>If <em>url2</em> already exists, the command aborts, unless the <code>-O</code> option is specified.</p>
--- a/docs/html/pull.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/pull.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>dav-sync pull</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,7 +64,9 @@
 
 <!-- begin content -->
 <div class="content">
-<h1 id="dav-sync-pull">dav-sync pull</h1>
+<div id="header">
+<h1 class="title">dav-sync pull</h1>
+</div>
 <p><strong><code>pull [-cld] &lt;directory&gt;</code></strong></p>
 <p>Pulls all changes from the server. All new or modified files are downloaded and all files deleted on the server are deleted locally. If a file is also locally modified and conflict detection is not disabled, the local file is renamed and an entry in the conflict database is added.</p>
 <p>When a trash directory is configured for the SyncDirectory, all files that would be deleted are instead moved to the trash directory.</p>
--- a/docs/html/push.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/push.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>dav-sync push</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,7 +64,9 @@
 
 <!-- begin content -->
 <div class="content">
-<h1 id="dav-sync-push">dav-sync push</h1>
+<div id="header">
+<h1 class="title">dav-sync push</h1>
+</div>
 <p><strong><code>push [-cld] &lt;directory&gt;</code></strong></p>
 <p>Pushes all local changes to the server. This uploads all locally modified files and deletes all locally deleted files on the server.</p>
 <p>If conflict detection is not disabled, all files that are also modified on the server will be skipped.</p>
--- a/docs/html/put.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/put.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>dav put</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,7 +64,9 @@
 
 <!-- begin content -->
 <div class="content">
-<h1 id="dav-put">dav put</h1>
+<div id="header">
+<h1 class="title">dav put</h1>
+</div>
 <p><strong><code>put [-pcR] [-k &lt;key&gt;] [-L &lt;lock&gt;] &lt;url&gt; &lt;file&gt;</code></strong></p>
 <p>Uploads a file or a directory. When uploading a file while the url points to an existing collection, a resource inside this collection with the file's name is created. When the url points to a non-existing resource, the resource is created.</p>
 <p>When uploading a directory, you need to specify the <strong><code>-R</code></strong> option. It uploads all files in the directory to the specified url, but it does not create a collection for the directory itself. You may use <a href="./mkdir.html">dav mkdir</a> to create this collection beforehand.</p>
--- a/docs/html/remove.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/remove.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>dav remove</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,7 +64,9 @@
 
 <!-- begin content -->
 <div class="content">
-<h1 id="dav-remove">dav remove</h1>
+<div id="header">
+<h1 class="title">dav remove</h1>
+</div>
 <p><strong><code>remove [-pc] [-L &lt;lock&gt;] &lt;url&gt;</code></strong></p>
 <p>Removes a resource. When removing a collection, all child resources are also removed.</p>
 <p><strong><code>-p</code></strong> disable file name and path decryption if enabled</p>
--- a/docs/html/resolve-conflicts.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/resolve-conflicts.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>dav-sync resolve-conflicts</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,7 +64,9 @@
 
 <!-- begin content -->
 <div class="content">
-<h1 id="dav-sync-resolve-conflicts">dav-sync resolve-conflicts</h1>
+<div id="header">
+<h1 class="title">dav-sync resolve-conflicts</h1>
+</div>
 <p><strong><code>resolve-conflicts &lt;directory&gt;</code></strong></p>
 <p>Removes conflict entries from the database. This does not merge any files. All files which are marked as conflict are normal files after running this command. In other words: by executing this command you assert that <em>you</em> have resolved the conflicts.</p>
 </div>
--- a/docs/html/set-property.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/set-property.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>dav set-property</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,7 +64,9 @@
 
 <!-- begin content -->
 <div class="content">
-<h1 id="dav-set-property">dav set-property</h1>
+<div id="header">
+<h1 class="title">dav set-property</h1>
+</div>
 <p><strong><code>set-property [-pc] [-L &lt;lock&gt;] [-n &lt;uri&gt;] &lt;url&gt; &lt;property&gt; [value]</code></strong></p>
 <p>Sets a resource property to the specified value.</p>
 <p><em>property</em> is a property name with or without prefix (see <a href="./get-property.html">get-property</a> for details).</p>
--- a/docs/html/sync-check-config.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/sync-check-config.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>dav-sync check-config</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,7 +64,9 @@
 
 <!-- begin content -->
 <div class="content">
-<h1 id="dav-sync-check-config">dav-sync check-config</h1>
+<div id="header">
+<h1 class="title">dav-sync check-config</h1>
+</div>
 <p>Validates the sync.xml file. If the configuration is OK, it prints <code>Configuration OK.</code> to stdout and returns 0, otherwise it prints an error message to stderr and returns 1.</p>
 <p><strong>Command alias:</strong> check</p>
 </div>
--- a/docs/html/sync-commands.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/sync-commands.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>Commands</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,13 +64,15 @@
 
 <!-- begin content -->
 <div class="content">
-<h1 id="commands">Commands</h1>
+<div id="header">
+<h1 class="title">Commands</h1>
+</div>
 <p>All commands expect a <code>&lt;directory&gt;</code> argument, which is the identifer of a local directory that should be synchronized. The directory must be configured in sync.xml. See <a href="./sync-configuration.html">Configuration</a>.</p>
 <h2 id="common-commands">Common Commands</h2>
 <p>Get resources from the server, which are modified since last sync:</p>
-<pre><code>dav pull &lt;directory&gt;</code></pre>
+<pre><code>dav-sync pull &lt;directory&gt;</code></pre>
 <p>Upload all locally modified resources:</p>
-<pre><code>dav push &lt;directory&gt;</code></pre>
+<pre><code>dav-sync push &lt;directory&gt;</code></pre>
 </div>
 <!-- end content -->
 </body>
--- a/docs/html/sync-configuration.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/sync-configuration.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>Configuration</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,7 +64,82 @@
 
 <!-- begin content -->
 <div class="content">
-
+<div id="header">
+<h1 class="title">Configuration</h1>
+</div>
+<p>The file <code>$HOME/.dav/sync.xml</code> is used for configuring sync-directories.</p>
+<p>The <em>sync.xml</em> file is an XML file with <code>&lt;configuration&gt;</code> as root element. This element can only have <code>&lt;directory&gt;</code> elements as children.</p>
+<h2 id="directory">directory</h2>
+<p>This element configures a sync-directory. A sync-directory must have a unique name, a (local) path, repository and a database.</p>
+<p>Required elements: <code>&lt;name&gt;</code>, <code>&lt;repository&gt;</code>, <code>&lt;path&gt;</code>, <code>&lt;database&gt;</code><br />
+Optional elements: <code>&lt;collection&gt;</code>, <code>&lt;trash&gt;</code>, <code>&lt;max-retry&gt;</code>, <code>&lt;backup-on-pull&gt;</code>, <code>&lt;lock-pull&gt;</code>, <code>&lt;lock-push&gt;</code>, <code>&lt;filter&gt;</code></p>
+<h3 id="name">name</h3>
+<p>Unique sync-directory identifer. This identifer is used in combination with all <em>dav-sync</em> commands.</p>
+<p>Type: string<br />
+Example: <code>&lt;name&gt;mysyncdir&lt;/name&gt;</code></p>
+<h3 id="repository">repository</h3>
+<p>Name of the WebDAV-repository. A repository with the same name must be configured in [config.xml][1].</p>
+<p>Type: string<br />
+Example: <code>&lt;name&gt;myrepo&lt;/name&gt;</code></p>
+<h3 id="path">path</h3>
+<p>The path of the local directory that should be synchronized. The path must be an absolute path or start with an environment variable. A path with an environment variable must start with an <code>$</code> followed by the variable name optionally followed by a path. For example:</p>
+<pre><code>`&lt;path&gt;$HOME/Documents&lt;/path&gt;`</code></pre>
+<p>The part between <code>$</code> and <code>/</code> is the environment variable name.</p>
+<p>Type: string<br />
+Example: <code>&lt;path&gt;/absolute/path&lt;/path&gt;</code></p>
+<h3 id="database">database</h3>
+<p>Path to the database file used for this sync-directory. The path must be relative to the <em>$HOME/.dav/</em> directory.</p>
+<p>Type: string<br />
+Example: <code>&lt;database&gt;myrepo-db.xml&lt;/database&gt;</code></p>
+<h3 id="collection">collection</h3>
+<p>Path of the collection relative to the repository root collection. For example if the repository url is <em>http://example.com/webdav/</em> and the collection value is <em>/myfiles/</em>, the directory is synchronized with <em>http://example.com/webdav/myfiles/</em></p>
+<p>Type: string<br />
+Default: /<br />
+Example: <code>&lt;collection&gt;/myfiles&lt;/collection&gt;</code></p>
+<h3 id="trash">trash</h3>
+<p>Path to the trash directory for this sync-directory. Files that should be deleted will be moved to this directory. The value must be an absolute path or relative to the sync-directory path.</p>
+<p>Type: string<br />
+Example: <code>&lt;trash&gt;.trash&lt;/trash&gt;</code></p>
+<h3 id="max-retry">max-retry</h3>
+<p>This integer value controls how many attempts of downloading/uploading a file in case of an error are made.</p>
+<p>Type: integer<br />
+Default: 0<br />
+Example: <code>&lt;max-retry&gt;3&lt;/max-retry&gt;</code></p>
+<h3 id="backup-on-pull">backup-on-pull</h3>
+<p>If this element has the value of true, the <em>pull</em> command will move old local files to the trash directory before downloading the new version from the server.</p>
+<p>Type: boolean<br />
+Default: false<br />
+Example: <code>&lt;backup-on-pull&gt;true&lt;/backup-on-pull&gt;</code></p>
+<h3 id="lock-pull">lock-pull</h3>
+<p>Enables locking for the <em>pull</em> command.</p>
+<p>Type: boolean<br />
+Default: false<br />
+Example: <code>&lt;lock-pull&gt;true&lt;/lock-pull&gt;</code></p>
+<h3 id="lock-push">lock-push</h3>
+<p>Enables locking for the <em>push</em> command.</p>
+<p>Type: boolean<br />
+Default: false<br />
+Example: <code>&lt;lock-push&gt;true&lt;/lock-push&gt;</code></p>
+<h3 id="filter">filter</h3>
+<p>With the filter element, include and exclude filters can be specified, to control which files are synchronized. The <em>pull</em> and <em>push</em> command apply these filters to file paths. At first it is checked if a file is matching any include filter. If so only files matching not an exclude filter are further processed.</p>
+<p>Note: The file path is relative to the directory path (and WebDAV collection) but always starts with an path separator.</p>
+<p>Optional elements: <code>&lt;include&gt;</code>, <code>&lt;exclude&gt;</code></p>
+<h3 id="include">include</h3>
+<p>Controls which files will be included by <em>pull</em> and <em>push</em>. If an include filter is specified, only files matching this filter are included.</p>
+<p>Type: regex string<br />
+Default: .*<br />
+Example:</p>
+<pre><code>&lt;filter&gt;
+    &lt;include&gt;\.pdf$&lt;/include&gt;
+&lt;/filter&gt;</code></pre>
+<h3 id="exclude">exclude</h3>
+<p>Controls which files will be excluded by <em>pull</em> and <em>push</em>.</p>
+<p>Type: regex string<br />
+Example:</p>
+<pre><code>&lt;filter&gt;
+    &lt;exclude&gt;^/secretdir&lt;/exclude&gt;
+    &lt;exclude&gt;\.DS_Store$&lt;/exclude&gt;
+&lt;/filter&gt;</code></pre>
 </div>
 <!-- end content -->
 </body>
--- a/docs/html/trash-info.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/trash-info.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>dav-sync trash-info</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,7 +64,9 @@
 
 <!-- begin content -->
 <div class="content">
-<h1 id="dav-sync-trash-info">dav-sync trash-info</h1>
+<div id="header">
+<h1 class="title">dav-sync trash-info</h1>
+</div>
 <p><strong><code>trash-info &lt;directory&gt;</code></strong></p>
 <p>Shows the trash directory path for a sync-directory, the number of files currently in trash and the space they consume.</p>
 </div>
--- a/docs/html/unlock.html	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/html/unlock.html	Sun Aug 06 14:41:20 2017 +0200
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <title></title>
+  <title>dav unlock</title>
   <style type="text/css">code{white-space: pre;}</style>
   <link rel="stylesheet" href="davdoc.css" type="text/css" />
 </head>
@@ -64,7 +64,9 @@
 
 <!-- begin content -->
 <div class="content">
-<h1 id="dav-unlock">dav unlock</h1>
+<div id="header">
+<h1 class="title">dav unlock</h1>
+</div>
 <p><strong><code>unlock [-pc] [-L &lt;lock&gt;] &lt;url&gt;</code></strong></p>
 <p>Unlocks the specified <em>url</em> with a lock token. If no lock token is specified with the <code>-L</code> option, it read from stdin.</p>
 <p><strong><code>-p</code></strong> disable file name and path decryption if enabled</p>
--- a/docs/src/add-directory.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/add-directory.md	Sun Aug 06 14:41:20 2017 +0200
@@ -1,5 +1,6 @@
-dav-sync add-directory
-======================
+---
+title: 'dav-sync add-directory'
+---
 
 This command runs an interactive assistant that creates a [sync-directory configuration][1] and adds it to the sync.xml file.
 Before running this command, a repository must be created. See [dav add-repository][2].
--- a/docs/src/add-repository.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/add-repository.md	Sun Aug 06 14:41:20 2017 +0200
@@ -1,5 +1,6 @@
-dav add-repository
-==================
+---
+title: 'dav add-repository'
+---
 
 This command runs an interactive assistant that creates a repository [configuration][1] and adds it to the config.xml file.
 
--- a/docs/src/check-config.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/check-config.md	Sun Aug 06 14:41:20 2017 +0200
@@ -1,5 +1,6 @@
-dav check-config
-================
+---
+title: 'dav check-config'
+---
 
 Validates the config.xml file. If the config is ok, it prints `Configuration OK.` to stdout and returns 0, otherwise it prints an error message to stderr and returns 1.
 
--- a/docs/src/check-repositories.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/check-repositories.md	Sun Aug 06 14:41:20 2017 +0200
@@ -1,5 +1,6 @@
-dav-sync check-repositories
-===========================
+---
+title: 'dav-sync check-repositories'
+---
 
 Checks if every repository used by sync-directories is configured and available.
 This command outputs the status for each repository.
--- a/docs/src/commands.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/commands.md	Sun Aug 06 14:41:20 2017 +0200
@@ -1,5 +1,6 @@
-Commands
-========
+---
+title: 'Commands'
+---
 
 Overview
 --------
--- a/docs/src/configuration.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/configuration.md	Sun Aug 06 14:41:20 2017 +0200
@@ -1,5 +1,6 @@
-Configuration
-=============
+---
+title: 'Configuration'
+---
 
 The main configuration file for *dav* is `$HOME/.dav/config.xml` and is used for configuring repositories, proxies and encryption keys. This configuration is also used by *dav-sync*. The file is created automaticaly if it doesn't exist.
 
--- a/docs/src/copy.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/copy.md	Sun Aug 06 14:41:20 2017 +0200
@@ -1,5 +1,6 @@
-dav copy
-========
+---
+title: 'dav copy'
+---
 
 **`copy [-pcO] [-L <lock>] <url1> <url2>`**
 
--- a/docs/src/date.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/date.md	Sun Aug 06 14:41:20 2017 +0200
@@ -1,5 +1,6 @@
-dav date
-========
+---
+title: 'dav date'
+---
 
 **`date [url]`**
 
--- a/docs/src/delete-conflicts.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/delete-conflicts.md	Sun Aug 06 14:41:20 2017 +0200
@@ -1,5 +1,6 @@
-dav-sync delete-conflicts
-==========================
+---
+title: 'dav-sync delete-conflicts'
+---
 
 **`delete-conflicts <directory>`**
 
--- a/docs/src/empty-trash.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/empty-trash.md	Sun Aug 06 14:41:20 2017 +0200
@@ -1,5 +1,6 @@
-dav-sync empty-trash
-====================
+---
+title: 'dav-sync empty-trash'
+---
 
 **`empty-trash <directory>`**
 
--- a/docs/src/encryption.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/encryption.md	Sun Aug 06 14:41:20 2017 +0200
@@ -1,5 +1,6 @@
-Encryption
-==========
+---
+title: 'Encryption'
+---
 
 The davutils programs have an integrated client-side encryption feature, that allows you to encrypt and decrypt on the fly with AES256 or AES128. To use this feature, the server **must** support WebDAV dead properties.
 
--- a/docs/src/get-property.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/get-property.md	Sun Aug 06 14:41:20 2017 +0200
@@ -1,5 +1,6 @@
-dav get-property
-================
+---
+title: 'dav get-property'
+---
 
 **`get-property [-pc] [-n <uri>] <url> <property>`**
 
--- a/docs/src/get.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/get.md	Sun Aug 06 14:41:20 2017 +0200
@@ -1,5 +1,6 @@
-dav get
-=======
+---
+title: 'dav get'
+---
 
 **`get [-pcR] [-o <file>] [-u <date>] <url>`**
 
--- a/docs/src/getting-started.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/getting-started.md	Sun Aug 06 14:41:20 2017 +0200
@@ -1,5 +1,6 @@
-Getting started
-===============
+---
+title: 'Getting started'
+---
 
 ### Test
 
--- a/docs/src/info.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/info.md	Sun Aug 06 14:41:20 2017 +0200
@@ -1,5 +1,6 @@
-dav info
-========
+---
+title: 'dav info'
+---
 
 **`info [-pc] <url>`**
 
--- a/docs/src/introduction.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/introduction.md	Sun Aug 06 14:41:20 2017 +0200
@@ -0,0 +1,125 @@
+---
+title: 'Introduction to dav-sync'
+---
+
+The dav-sync program can synchronize a local directory with a WebDAV collection.
+
+First Steps
+-----------
+
+To use dav-sync it is required to configure a repository in [config.xml][1] and the directory in [sync.xml][2].
+
+Create a repository with [dav add-repository][3]. Unlike *dav*, *dav-sync* is not interactive and never shows an authentication prompt. Therefore the user and password **must** be specified if the server requires authentication.
+
+	$ dav add-repository
+	Each repository must have an unique name.
+	name: myfirstrepo
+
+	Specify the repository base url.
+	url: http://example.com/webdav/
+
+	User for HTTP authentication.
+	user (optional): myuser
+	password (optional): 
+
+After the repository is created, configure a sync-directory with [dav-sync add-directory][4].
+
+	$ dav-sync add-directory
+	Each sync directory must have an unique name.
+	name: mysyncdir
+	Enter local directory path.
+	path: $HOME/important_files
+	Specify webdav repository.
+	0) myfirstrepo
+	1) anotherrepo
+	repository: 0
+	Enter collection relative to the repository base url.
+	collection (default: /): /important_files
+
+The specified name is just an identifier and will be used with other dav-sync commands like *pull* and *push*.
+
+After the configuration is created, you can synchronize your files. There are two commands for it: *pull* and *push*.
+
+With *pull* you can apply all changes on the server to your local directory. The command scans the server and detects modified files and which files are deleted. All modified files will be downloadet and all deleted files will be locally removed (or moved to the trash directory). The first time you will run *pull* for a directory this will just download all files from the WebDAV collection.
+
+You can run the *pull* command with:
+
+	dav-sync pull mysyncdir
+
+The *push* command scans your local directory for changes, uploads all modified files and removes all locally deleted files from the server.
+
+	dav-sync push mysyncdir
+
+[1]: ./configuration.html
+[2]: ./sync-configuration.html
+[3]: ./add-repository.html
+[4]: ./add-directory.html
+
+
+Database
+--------
+
+Every sync-directory has a database xml file that contains the etag and last modified date of each file. The etag is used to detect changes on the server and the last modified date is used to detect local changes. The database file is usually located in *$HOME/.dav/* and if you want to reset a sync-directory, you can delete the database. After that, *pull*/*push* (with disabled conflict detection) will download/upload all files.
+
+
+Conflict detection
+------------------
+
+The *pull* and *push* commands detect if a file has changed remotely and locally. This is a conflict that must be resolved manually.
+
+When *pull* detects a conflict it renames the local file to *orig-\$number.\$name* where *\$number* is an integer, usually 0 if no other conflict file with the name exists and *\$name* is the file's name. After the file is renamed the new file from the server is downloadet. The user should merge the files manually then or just delete one or keep both. After that run *resolve-conflicts* to remove all conflict entries from the database otherwise *push* will ignore any file in a conflict state. There is also the *delete-conflicts* command that deletes all conflict files.
+
+When *push* detects that a file is modified locally and on the server, it just skips this file. Run the *pull* command to get the new file from the server and resolve the conflict like described above.
+
+
+
+Trash
+-----
+
+For high data safety, a trash directory can be configured. If this is done, dav-sync will not delete files, but move them to the trash directory. Also the pull command can move files to the trash directory before overwriting them. 
+
+To enable the trash, add the `<trash>` element to the directory config. The trash path can be absolute or relative to the sync-directory path.
+
+	<directory>
+		<name>mydir</name>
+		<path>$HOME/myfiles</path>
+		<repository>myrepo</repository>
+		<database>mydir-db.xml</database>
+		
+		<!-- enable trash dir -->
+		<trash>.trash</trash>
+	</directory>
+
+Files inside the trash directory will not be synchronized with the server.
+
+Add the `<backup-on-pull>` element if you want to backup files to the trash directory before they are overwritten.
+
+	<directory>
+		...
+		
+		<backup-on-pull>true</backup-on-pull>
+	<directory>
+	
+
+Locking
+-------
+
+It is highly recommended to lock the repository if it is expected that multiple users want to access and modify the repository simultaneously. Locking can be enabled with the `-l` option when using the *pull* or *push* command, or it can be permanently enabled in *sync.xml* for a directory with the `<lock-pull>` and `<lock-push>` elements.
+
+	<directory>
+		...
+		<lock-pull>true</lock-pull>
+		<lock-push>true</lock-push>
+	</directory>
+
+See [Configuration][5] for details.
+
+[5]: ./configuration.html
+
+Encryption
+----------
+
+The *dav-sync* program uses the same repository settings as *dav*. If encryption is enabled for a repository, *dav-sync* stores files encrypted on the server. See [Encryption][6] for details.
+
+[6]: ./encryption.html
+
--- a/docs/src/list-directories.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/list-directories.md	Sun Aug 06 14:41:20 2017 +0200
@@ -1,5 +1,6 @@
-dav-sync list-directories
-=====================
+---
+title: 'dav-sync list-directories'
+---
 
 This command lists all configured sync-directories.
 
--- a/docs/src/list-repositories.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/list-repositories.md	Sun Aug 06 14:41:20 2017 +0200
@@ -1,5 +1,6 @@
-dav list-repositories
-=====================
+---
+title: 'dav list-repositories'
+---
 
 This command lists all configured repositories.
 
--- a/docs/src/list.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/list.md	Sun Aug 06 14:41:20 2017 +0200
@@ -1,5 +1,6 @@
-dav list
-========
+---
+title: 'dav list'
+---
 
 **`dav list [-altepcR] [-u <date>] <url>`**
 
--- a/docs/src/lock.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/lock.md	Sun Aug 06 14:41:20 2017 +0200
@@ -1,5 +1,6 @@
-dav lock
-========
+---
+title: 'dav lock'
+---
 
 **`lock [-pc] <url>`**
 
--- a/docs/src/mkdir.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/mkdir.md	Sun Aug 06 14:41:20 2017 +0200
@@ -1,5 +1,6 @@
-dav mkdir
-=========
+---
+title: 'dav mkdir'
+---
 
 **`mkdir [-pc] [-k <key>] [-L <lock>] <url>`**
 
--- a/docs/src/move.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/move.md	Sun Aug 06 14:41:20 2017 +0200
@@ -1,5 +1,6 @@
-dav move
-========
+---
+title: 'dav move'
+---
 
 **`move [-pcO] [-L <lock>] <url> <url>`**
 
--- a/docs/src/pull.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/pull.md	Sun Aug 06 14:41:20 2017 +0200
@@ -1,5 +1,6 @@
-dav-sync pull
-=============
+---
+title: 'dav-sync pull'
+---
 
 **`pull [-cld] <directory>`**
 
--- a/docs/src/push.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/push.md	Sun Aug 06 14:41:20 2017 +0200
@@ -1,5 +1,6 @@
-dav-sync push
-=============
+---
+title: 'dav-sync push'
+---
 
 **`push [-cld] <directory>`**
 
--- a/docs/src/put.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/put.md	Sun Aug 06 14:41:20 2017 +0200
@@ -1,5 +1,6 @@
-dav put
-=======
+---
+title: 'dav put'
+---
 
 **`put [-pcR] [-k <key>] [-L <lock>] <url> <file>`**
 
--- a/docs/src/remove.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/remove.md	Sun Aug 06 14:41:20 2017 +0200
@@ -1,5 +1,6 @@
-dav remove
-==========
+---
+title: 'dav remove'
+---
 
 **`remove [-pc] [-L <lock>] <url>`**
 
--- a/docs/src/resolve-conflicts.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/resolve-conflicts.md	Sun Aug 06 14:41:20 2017 +0200
@@ -1,5 +1,6 @@
-dav-sync resolve-conflicts
-==========================
+---
+title: 'dav-sync resolve-conflicts'
+---
 
 **`resolve-conflicts <directory>`**
 
--- a/docs/src/set-property.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/set-property.md	Sun Aug 06 14:41:20 2017 +0200
@@ -1,5 +1,6 @@
-dav set-property
-================
+---
+title: 'dav set-property'
+---
 
 **`set-property [-pc] [-L <lock>] [-n <uri>] <url> <property> [value]`**
 
--- a/docs/src/sync-check-config.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/sync-check-config.md	Sun Aug 06 14:41:20 2017 +0200
@@ -1,5 +1,6 @@
-dav-sync check-config
-=====================
+---
+title: 'dav-sync check-config'
+---
 
 Validates the sync.xml file. If the configuration is OK, it prints `Configuration OK.` to stdout and returns 0, otherwise it prints an error message to stderr and returns 1.
 
--- a/docs/src/sync-commands.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/sync-commands.md	Sun Aug 06 14:41:20 2017 +0200
@@ -1,5 +1,6 @@
-Commands
-========
+---
+title: 'Commands'
+---
 
 All commands expect a `<directory>` argument, which is the identifer of a local directory that should be synchronized. The directory must be configured in sync.xml. See [Configuration][1].
 
@@ -10,10 +11,10 @@
 
 Get resources from the server, which are modified since last sync:
 
-	dav pull <directory>
+	dav-sync pull <directory>
 
 Upload all locally modified resources:
 
-	dav push <directory>
+	dav-sync push <directory>
 
 
--- a/docs/src/sync-configuration.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/sync-configuration.md	Sun Aug 06 14:41:20 2017 +0200
@@ -0,0 +1,127 @@
+---
+title: 'Configuration'
+---
+
+The file `$HOME/.dav/sync.xml` is used for configuring sync-directories.
+
+The *sync.xml* file is an XML file with `<configuration>` as root element. This element can only have `<directory>` elements as children.
+
+## directory
+
+This element configures a sync-directory. A sync-directory must have a unique name, a (local) path, repository and a database.
+
+Required elements: `<name>`, `<repository>`, `<path>`, `<database>` \
+Optional elements: `<collection>`, `<trash>`, `<max-retry>`, `<backup-on-pull>`, `<lock-pull>`, `<lock-push>`, `<filter>`
+
+### name
+
+Unique sync-directory identifer. This identifer is used in combination with all *dav-sync* commands.
+
+Type: string \
+Example: `<name>mysyncdir</name>`
+
+### repository
+
+Name of the WebDAV-repository. A repository with the same name must be configured in [config.xml][1].
+
+Type: string \
+Example: `<name>myrepo</name>`
+
+### path
+
+The path of the local directory that should be synchronized. The path must be an absolute path or start with an environment variable. A path with an environment variable must start with an `$` followed by the variable name optionally followed by a path. For example:
+
+	`<path>$HOME/Documents</path>`
+
+The part between `$` and `/` is the environment variable name.
+
+Type: string \
+Example: `<path>/absolute/path</path>`
+
+### database
+
+Path to the database file used for this sync-directory. The path must be relative to the *$HOME/.dav/* directory.
+
+Type: string \
+Example: `<database>myrepo-db.xml</database>`
+
+### collection
+
+Path of the collection relative to the repository root collection. For example if the repository url is *http://example.com/webdav/* and the collection value is */myfiles/*, the directory is synchronized with *http://example.com/webdav/myfiles/*
+
+Type: string \
+Default: / \
+Example: `<collection>/myfiles</collection>`
+
+### trash
+
+Path to the trash directory for this sync-directory. Files that should be deleted will be moved to this directory. The value must be an absolute path or relative to the sync-directory path.
+
+Type: string \
+Example: `<trash>.trash</trash>`
+
+### max-retry
+
+This integer value controls how many attempts of downloading/uploading a file in case of an error are made.
+
+Type: integer \
+Default: 0 \
+Example: `<max-retry>3</max-retry>`
+
+### backup-on-pull
+
+If this element has the value of true, the *pull* command will move old local files to the trash directory before downloading the new version from the server. 
+
+Type: boolean \
+Default: false \
+Example: `<backup-on-pull>true</backup-on-pull>`
+
+### lock-pull
+
+Enables locking for the *pull* command.
+
+Type: boolean \
+Default: false \
+Example: `<lock-pull>true</lock-pull>`
+
+### lock-push
+
+Enables locking for the *push* command.
+
+Type: boolean \
+Default: false \
+Example: `<lock-push>true</lock-push>`
+
+### filter
+
+With the filter element, include and exclude filters can be specified, to control which files are synchronized. The *pull* and *push* command apply these filters to file paths. At first it is checked if a file is matching any include filter. If so only files matching not an exclude filter are further processed.
+
+Note: The file path is relative to the directory path (and WebDAV collection) but always starts with an path separator.
+
+Optional elements: `<include>`, `<exclude>`
+
+### include
+
+Controls which files will be included by *pull* and *push*. If an include filter is specified, only files matching this filter are included.
+
+Type: regex string \
+Default: .* \
+Example: 
+
+	<filter>
+		<include>\.pdf$</include>
+	</filter>
+
+### exclude
+
+Controls which files will be excluded by *pull* and *push*.
+
+Type: regex string \
+Example:
+
+	<filter>
+		<exclude>^/secretdir</exclude>
+		<exclude>\.DS_Store$</exclude>
+	</filter>
+
+
--- a/docs/src/trash-info.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/trash-info.md	Sun Aug 06 14:41:20 2017 +0200
@@ -1,5 +1,6 @@
-dav-sync trash-info
-===================
+---
+title: 'dav-sync trash-info'
+---
 
 **`trash-info <directory>`**
 
--- a/docs/src/unlock.md	Sat Aug 05 13:35:27 2017 +0200
+++ b/docs/src/unlock.md	Sun Aug 06 14:41:20 2017 +0200
@@ -1,5 +1,6 @@
-dav unlock
-==========
+---
+title: 'dav unlock'
+---
 
 **`unlock [-pc] [-L <lock>] <url>`**
 

mercurial