From 6d19bbba73bfee4279215b9939dad788099e6453 Mon Sep 17 00:00:00 2001
From: Nick Craig-Wood <nick@craig-wood.com>
Date: Sat, 16 May 2020 15:11:55 +0100
Subject: [PATCH] docs: add description to commands and index page

---
 cmd/gendocs/gendocs.go                        | 57 ++++++++++++++----
 docs/content/commands/rclone.md               |  6 +-
 docs/content/commands/rclone_about.md         |  3 +-
 docs/content/commands/rclone_authorize.md     |  3 +-
 docs/content/commands/rclone_backend.md       | 60 +++++++++++++++++++
 docs/content/commands/rclone_cachestats.md    | 33 ----------
 docs/content/commands/rclone_cat.md           |  3 +-
 docs/content/commands/rclone_check.md         |  3 +-
 docs/content/commands/rclone_cleanup.md       |  3 +-
 docs/content/commands/rclone_config.md        |  3 +-
 docs/content/commands/rclone_config_create.md | 19 +++++-
 docs/content/commands/rclone_config_delete.md |  3 +-
 .../commands/rclone_config_disconnect.md      |  3 +-
 docs/content/commands/rclone_config_dump.md   |  3 +-
 docs/content/commands/rclone_config_edit.md   |  3 +-
 docs/content/commands/rclone_config_file.md   |  3 +-
 .../commands/rclone_config_password.md        |  3 +-
 .../commands/rclone_config_providers.md       |  3 +-
 .../commands/rclone_config_reconnect.md       |  3 +-
 docs/content/commands/rclone_config_show.md   |  3 +-
 docs/content/commands/rclone_config_update.md | 19 +++++-
 .../commands/rclone_config_userinfo.md        |  3 +-
 docs/content/commands/rclone_copy.md          |  7 ++-
 docs/content/commands/rclone_copyto.md        |  3 +-
 docs/content/commands/rclone_copyurl.md       |  5 +-
 docs/content/commands/rclone_cryptcheck.md    |  3 +-
 docs/content/commands/rclone_cryptdecode.md   |  3 +-
 docs/content/commands/rclone_dbhashsum.md     | 36 -----------
 docs/content/commands/rclone_dedupe.md        |  3 +-
 docs/content/commands/rclone_delete.md        |  8 ++-
 docs/content/commands/rclone_deletefile.md    |  3 +-
 .../commands/rclone_genautocomplete.md        |  4 +-
 .../commands/rclone_genautocomplete_bash.md   |  3 +-
 .../commands/rclone_genautocomplete_fish.md   | 47 +++++++++++++++
 .../commands/rclone_genautocomplete_zsh.md    |  3 +-
 docs/content/commands/rclone_gendocs.md       |  3 +-
 docs/content/commands/rclone_hashsum.md       |  3 +-
 docs/content/commands/rclone_link.md          |  3 +-
 docs/content/commands/rclone_listremotes.md   |  3 +-
 docs/content/commands/rclone_ls.md            |  3 +-
 docs/content/commands/rclone_lsd.md           |  3 +-
 docs/content/commands/rclone_lsf.md           |  7 ++-
 docs/content/commands/rclone_lsjson.md        | 40 ++++++++-----
 docs/content/commands/rclone_lsl.md           |  3 +-
 docs/content/commands/rclone_md5sum.md        |  3 +-
 docs/content/commands/rclone_mkdir.md         |  3 +-
 docs/content/commands/rclone_mount.md         | 15 +++--
 docs/content/commands/rclone_move.md          |  3 +-
 docs/content/commands/rclone_moveto.md        |  3 +-
 docs/content/commands/rclone_ncdu.md          |  3 +-
 docs/content/commands/rclone_obscure.md       |  3 +-
 docs/content/commands/rclone_purge.md         |  3 +-
 docs/content/commands/rclone_rc.md            | 42 ++++++++++---
 docs/content/commands/rclone_rcat.md          |  3 +-
 docs/content/commands/rclone_rcd.md           |  3 +-
 docs/content/commands/rclone_rmdir.md         |  3 +-
 docs/content/commands/rclone_rmdirs.md        |  3 +-
 docs/content/commands/rclone_serve.md         |  3 +-
 docs/content/commands/rclone_serve_dlna.md    |  5 +-
 docs/content/commands/rclone_serve_ftp.md     |  5 +-
 docs/content/commands/rclone_serve_http.md    | 29 ++++++++-
 docs/content/commands/rclone_serve_restic.md  | 27 ++++++++-
 docs/content/commands/rclone_serve_sftp.md    |  7 ++-
 docs/content/commands/rclone_serve_webdav.md  | 29 ++++++++-
 docs/content/commands/rclone_settier.md       |  3 +-
 docs/content/commands/rclone_sha1sum.md       |  3 +-
 docs/content/commands/rclone_size.md          |  3 +-
 docs/content/commands/rclone_sync.md          |  3 +-
 docs/content/commands/rclone_touch.md         | 23 ++++++-
 docs/content/commands/rclone_tree.md          |  3 +-
 docs/content/commands/rclone_version.md       |  3 +-
 docs/content/flags.md                         |  4 +-
 docs/layouts/section/commands.html            | 60 +++++++++++--------
 73 files changed, 525 insertions(+), 213 deletions(-)
 create mode 100644 docs/content/commands/rclone_backend.md
 delete mode 100644 docs/content/commands/rclone_cachestats.md
 delete mode 100644 docs/content/commands/rclone_dbhashsum.md
 create mode 100644 docs/content/commands/rclone_genautocomplete_fish.md

diff --git a/cmd/gendocs/gendocs.go b/cmd/gendocs/gendocs.go
index bd91df50c..f83a78914 100644
--- a/cmd/gendocs/gendocs.go
+++ b/cmd/gendocs/gendocs.go
@@ -2,12 +2,13 @@ package gendocs
 
 import (
 	"bytes"
-	"fmt"
 	"io/ioutil"
+	"log"
 	"os"
 	"path"
 	"path/filepath"
 	"strings"
+	"text/template"
 	"time"
 
 	"github.com/rclone/rclone/cmd"
@@ -20,14 +21,25 @@ func init() {
 	cmd.Root.AddCommand(commandDefinition)
 }
 
-const gendocFrontmatterTemplate = `---
-date: %s
-title: "%s"
-slug: %s
-url: %s
-# autogenerated - DO NOT EDIT, instead edit the source code in %s and as part of making a release run "make commanddocs"
+// define things which go into the frontmatter
+type frontmatter struct {
+	Date        string
+	Title       string
+	Description string
+	Slug        string
+	URL         string
+	Source      string
+}
+
+var frontmatterTemplate = template.Must(template.New("frontmatter").Parse(`---
+date: {{ .Date }}
+title: "{{ .Title }}"
+description: "{{ .Description }}"
+slug: {{ .Slug }}
+url: {{ .URL }}
+# autogenerated - DO NOT EDIT, instead edit the source code in {{ .Source }} and as part of making a release run "make commanddocs"
 ---
-`
+`))
 
 var commandDefinition = &cobra.Command{
 	Use:   "gendocs output_directory",
@@ -63,13 +75,36 @@ rclone.org website.`,
 			return err
 		}
 
+		// Look up name => description for prepender
+		var description = map[string]string{}
+		var addDescription func(root *cobra.Command)
+		addDescription = func(root *cobra.Command) {
+			name := strings.Replace(root.CommandPath(), " ", "_", -1) + ".md"
+			description[name] = root.Short
+			for _, c := range root.Commands() {
+				addDescription(c)
+			}
+		}
+		addDescription(cmd.Root)
+
 		// markup for the docs files
 		prepender := func(filename string) string {
 			name := filepath.Base(filename)
 			base := strings.TrimSuffix(name, path.Ext(name))
-			url := "/commands/" + strings.ToLower(base) + "/"
-			source := strings.Replace(strings.Replace(base, "rclone", "cmd", -1), "_", "/", -1) + "/"
-			return fmt.Sprintf(gendocFrontmatterTemplate, now, strings.Replace(base, "_", " ", -1), base, url, source)
+			data := frontmatter{
+				Date:        now,
+				Title:       strings.Replace(base, "_", " ", -1),
+				Description: description[name],
+				Slug:        base,
+				URL:         "/commands/" + strings.ToLower(base) + "/",
+				Source:      strings.Replace(strings.Replace(base, "rclone", "cmd", -1), "_", "/", -1) + "/",
+			}
+			var buf bytes.Buffer
+			err := frontmatterTemplate.Execute(&buf, data)
+			if err != nil {
+				log.Fatalf("Failed to render frontmatter template: %v", err)
+			}
+			return buf.String()
 		}
 		linkHandler := func(name string) string {
 			base := strings.TrimSuffix(name, path.Ext(name))
diff --git a/docs/content/commands/rclone.md b/docs/content/commands/rclone.md
index c0ee09c81..40f7214fc 100644
--- a/docs/content/commands/rclone.md
+++ b/docs/content/commands/rclone.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone"
+description: "Show help for rclone commands, flags and backends."
 slug: rclone
 url: /commands/rclone/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/ and as part of making a release run "make commanddocs"
@@ -36,7 +37,7 @@ See the [global flags page](/flags/) for global options not listed here.
 
 * [rclone about](/commands/rclone_about/)	 - Get quota information from the remote.
 * [rclone authorize](/commands/rclone_authorize/)	 - Remote authorization.
-* [rclone cachestats](/commands/rclone_cachestats/)	 - Print cache stats for a remote
+* [rclone backend](/commands/rclone_backend/)	 - Run a backend specific command.
 * [rclone cat](/commands/rclone_cat/)	 - Concatenates any files and sends them to stdout.
 * [rclone check](/commands/rclone_check/)	 - Checks the files in the source and destination match.
 * [rclone cleanup](/commands/rclone_cleanup/)	 - Clean up the remote if possible
@@ -46,7 +47,6 @@ See the [global flags page](/flags/) for global options not listed here.
 * [rclone copyurl](/commands/rclone_copyurl/)	 - Copy url content to dest.
 * [rclone cryptcheck](/commands/rclone_cryptcheck/)	 - Cryptcheck checks the integrity of a crypted remote.
 * [rclone cryptdecode](/commands/rclone_cryptdecode/)	 - Cryptdecode returns unencrypted file names.
-* [rclone dbhashsum](/commands/rclone_dbhashsum/)	 - Produces a Dropbox hash file for all the objects in the path.
 * [rclone dedupe](/commands/rclone_dedupe/)	 - Interactively find duplicate files and delete/rename them.
 * [rclone delete](/commands/rclone_delete/)	 - Remove the contents of path.
 * [rclone deletefile](/commands/rclone_deletefile/)	 - Remove a single file from remote.
diff --git a/docs/content/commands/rclone_about.md b/docs/content/commands/rclone_about.md
index c9baff34c..b4fed4f65 100644
--- a/docs/content/commands/rclone_about.md
+++ b/docs/content/commands/rclone_about.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone about"
+description: "Get quota information from the remote."
 slug: rclone_about
 url: /commands/rclone_about/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/about/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_authorize.md b/docs/content/commands/rclone_authorize.md
index adf13e3d2..43bea1b66 100644
--- a/docs/content/commands/rclone_authorize.md
+++ b/docs/content/commands/rclone_authorize.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone authorize"
+description: "Remote authorization."
 slug: rclone_authorize
 url: /commands/rclone_authorize/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/authorize/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_backend.md b/docs/content/commands/rclone_backend.md
new file mode 100644
index 000000000..991695033
--- /dev/null
+++ b/docs/content/commands/rclone_backend.md
@@ -0,0 +1,60 @@
+---
+date: 2020-05-18T10:38:09+01:00
+title: "rclone backend"
+description: "Run a backend specific command."
+slug: rclone_backend
+url: /commands/rclone_backend/
+# autogenerated - DO NOT EDIT, instead edit the source code in cmd/backend/ and as part of making a release run "make commanddocs"
+---
+## rclone backend
+
+Run a backend specific command.
+
+### Synopsis
+
+
+This runs a backend specific command. The commands themselves (except
+for "help" and "features") are defined by the backends and you should
+see the backend docs for definitions.
+
+You can discover what commands a backend implements by using
+
+    rclone backend help remote:
+    rclone backend help <backendname>
+
+You can also discover information about the backend using (see
+[operations/fsinfo](/rc/#operations/fsinfo) in the remote control docs
+for more info).
+
+    rclone backend features remote:
+
+Pass options to the backend command with -o. This should be key=value or key, eg:
+
+    rclone backend stats remote:path stats -o format=json -o long
+
+Pass arguments to the backend by placing them on the end of the line
+
+    rclone backend cleanup remote:path file1 file2 file3
+
+Note to run these commands on a running backend then see
+[backend/command](/rc/#backend/command) in the rc docs.
+
+
+```
+rclone backend <command> remote:path [opts] <args> [flags]
+```
+
+### Options
+
+```
+  -h, --help                 help for backend
+      --json                 Always output in JSON format.
+  -o, --option stringArray   Option in the form name=value or name.
+```
+
+See the [global flags page](/flags/) for global options not listed here.
+
+### SEE ALSO
+
+* [rclone](/commands/rclone/)	 - Show help for rclone commands, flags and backends.
+
diff --git a/docs/content/commands/rclone_cachestats.md b/docs/content/commands/rclone_cachestats.md
deleted file mode 100644
index a7da9e227..000000000
--- a/docs/content/commands/rclone_cachestats.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-date: 2020-02-10T12:28:36Z
-title: "rclone cachestats"
-slug: rclone_cachestats
-url: /commands/rclone_cachestats/
-# autogenerated - DO NOT EDIT, instead edit the source code in cmd/cachestats/ and as part of making a release run "make commanddocs"
----
-## rclone cachestats
-
-Print cache stats for a remote
-
-### Synopsis
-
-
-Print cache stats for a remote in JSON format
-
-
-```
-rclone cachestats source: [flags]
-```
-
-### Options
-
-```
-  -h, --help   help for cachestats
-```
-
-See the [global flags page](/flags/) for global options not listed here.
-
-### SEE ALSO
-
-* [rclone](/commands/rclone/)	 - Show help for rclone commands, flags and backends.
-
diff --git a/docs/content/commands/rclone_cat.md b/docs/content/commands/rclone_cat.md
index db8f899ab..aa60ffa88 100644
--- a/docs/content/commands/rclone_cat.md
+++ b/docs/content/commands/rclone_cat.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T15:06:43Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone cat"
+description: "Concatenates any files and sends them to stdout."
 slug: rclone_cat
 url: /commands/rclone_cat/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/cat/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_check.md b/docs/content/commands/rclone_check.md
index acf36182e..0784fa3f5 100644
--- a/docs/content/commands/rclone_check.md
+++ b/docs/content/commands/rclone_check.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone check"
+description: "Checks the files in the source and destination match."
 slug: rclone_check
 url: /commands/rclone_check/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/check/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_cleanup.md b/docs/content/commands/rclone_cleanup.md
index ee1b47965..2ea558f06 100644
--- a/docs/content/commands/rclone_cleanup.md
+++ b/docs/content/commands/rclone_cleanup.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone cleanup"
+description: "Clean up the remote if possible"
 slug: rclone_cleanup
 url: /commands/rclone_cleanup/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/cleanup/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_config.md b/docs/content/commands/rclone_config.md
index 75e286eef..e440bb43c 100644
--- a/docs/content/commands/rclone_config.md
+++ b/docs/content/commands/rclone_config.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone config"
+description: "Enter an interactive configuration session."
 slug: rclone_config
 url: /commands/rclone_config/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/config/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_config_create.md b/docs/content/commands/rclone_config_create.md
index 12a2ea703..aff9eb16c 100644
--- a/docs/content/commands/rclone_config_create.md
+++ b/docs/content/commands/rclone_config_create.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone config create"
+description: "Create a new remote with name, type and options."
 slug: rclone_config_create
 url: /commands/rclone_config_create/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/config/create/ and as part of making a release run "make commanddocs"
@@ -25,7 +26,17 @@ default is taken.  Each time that happens rclone will print a message
 saying how to affect the value taken.
 
 If any of the parameters passed is a password field, then rclone will
-automatically obscure them before putting them in the config file.
+automatically obscure them if they aren't already obscured before
+putting them in the config file.
+
+**NB** If the password parameter is 22 characters or longer and
+consists only of base64 characters then rclone can get confused about
+whether the password is already obscured or not and put unobscured
+passwords into the config file. If you want to be 100% certain that
+the passwords get obscured then use the "--obscure" flag, or if you
+are 100% certain you are already passing obscured passwords then use
+"--no-obscure".  You can also set osbscured passwords using the
+"rclone config password" command.
 
 So for example if you wanted to configure a Google Drive remote but
 using remote authorization you would do this:
@@ -40,7 +51,9 @@ rclone config create <name> <type> [<key> <value>]* [flags]
 ### Options
 
 ```
-  -h, --help   help for create
+  -h, --help         help for create
+      --no-obscure   Force any passwords not to be obscured.
+      --obscure      Force any passwords to be obscured.
 ```
 
 See the [global flags page](/flags/) for global options not listed here.
diff --git a/docs/content/commands/rclone_config_delete.md b/docs/content/commands/rclone_config_delete.md
index 3cb5dfeea..1be422e55 100644
--- a/docs/content/commands/rclone_config_delete.md
+++ b/docs/content/commands/rclone_config_delete.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone config delete"
+description: "Delete an existing remote <name>."
 slug: rclone_config_delete
 url: /commands/rclone_config_delete/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/config/delete/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_config_disconnect.md b/docs/content/commands/rclone_config_disconnect.md
index 76a44fb0a..e15c07b56 100644
--- a/docs/content/commands/rclone_config_disconnect.md
+++ b/docs/content/commands/rclone_config_disconnect.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone config disconnect"
+description: "Disconnects user from remote"
 slug: rclone_config_disconnect
 url: /commands/rclone_config_disconnect/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/config/disconnect/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_config_dump.md b/docs/content/commands/rclone_config_dump.md
index 7530c2f23..75f265190 100644
--- a/docs/content/commands/rclone_config_dump.md
+++ b/docs/content/commands/rclone_config_dump.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone config dump"
+description: "Dump the config file as JSON."
 slug: rclone_config_dump
 url: /commands/rclone_config_dump/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/config/dump/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_config_edit.md b/docs/content/commands/rclone_config_edit.md
index 1cc7bd177..40900bbcb 100644
--- a/docs/content/commands/rclone_config_edit.md
+++ b/docs/content/commands/rclone_config_edit.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone config edit"
+description: "Enter an interactive configuration session."
 slug: rclone_config_edit
 url: /commands/rclone_config_edit/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/config/edit/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_config_file.md b/docs/content/commands/rclone_config_file.md
index 0c8983875..156f59f5d 100644
--- a/docs/content/commands/rclone_config_file.md
+++ b/docs/content/commands/rclone_config_file.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone config file"
+description: "Show path of configuration file in use."
 slug: rclone_config_file
 url: /commands/rclone_config_file/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/config/file/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_config_password.md b/docs/content/commands/rclone_config_password.md
index 056cd27ff..f50fec2c9 100644
--- a/docs/content/commands/rclone_config_password.md
+++ b/docs/content/commands/rclone_config_password.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone config password"
+description: "Update password in an existing remote."
 slug: rclone_config_password
 url: /commands/rclone_config_password/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/config/password/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_config_providers.md b/docs/content/commands/rclone_config_providers.md
index 1e931528e..98576f642 100644
--- a/docs/content/commands/rclone_config_providers.md
+++ b/docs/content/commands/rclone_config_providers.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone config providers"
+description: "List in JSON format all the providers and options."
 slug: rclone_config_providers
 url: /commands/rclone_config_providers/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/config/providers/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_config_reconnect.md b/docs/content/commands/rclone_config_reconnect.md
index f540f2dda..2e3a0c6e9 100644
--- a/docs/content/commands/rclone_config_reconnect.md
+++ b/docs/content/commands/rclone_config_reconnect.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone config reconnect"
+description: "Re-authenticates user with remote."
 slug: rclone_config_reconnect
 url: /commands/rclone_config_reconnect/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/config/reconnect/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_config_show.md b/docs/content/commands/rclone_config_show.md
index fa20cf7b4..f2efabc95 100644
--- a/docs/content/commands/rclone_config_show.md
+++ b/docs/content/commands/rclone_config_show.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone config show"
+description: "Print (decrypted) config file, or the config for a single remote."
 slug: rclone_config_show
 url: /commands/rclone_config_show/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/config/show/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_config_update.md b/docs/content/commands/rclone_config_update.md
index d7100662c..e5cb07e26 100644
--- a/docs/content/commands/rclone_config_update.md
+++ b/docs/content/commands/rclone_config_update.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T15:06:43Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone config update"
+description: "Update options in an existing remote."
 slug: rclone_config_update
 url: /commands/rclone_config_update/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/config/update/ and as part of making a release run "make commanddocs"
@@ -21,7 +22,17 @@ you would do:
     rclone config update myremote swift env_auth true
 
 If any of the parameters passed is a password field, then rclone will
-automatically obscure them before putting them in the config file.
+automatically obscure them if they aren't already obscured before
+putting them in the config file.
+
+**NB** If the password parameter is 22 characters or longer and
+consists only of base64 characters then rclone can get confused about
+whether the password is already obscured or not and put unobscured
+passwords into the config file. If you want to be 100% certain that
+the passwords get obscured then use the "--obscure" flag, or if you
+are 100% certain you are already passing obscured passwords then use
+"--no-obscure".  You can also set osbscured passwords using the
+"rclone config password" command.
 
 If the remote uses OAuth the token will be updated, if you don't
 require this add an extra parameter thus:
@@ -36,7 +47,9 @@ rclone config update <name> [<key> <value>]+ [flags]
 ### Options
 
 ```
-  -h, --help   help for update
+  -h, --help         help for update
+      --no-obscure   Force any passwords not to be obscured.
+      --obscure      Force any passwords to be obscured.
 ```
 
 See the [global flags page](/flags/) for global options not listed here.
diff --git a/docs/content/commands/rclone_config_userinfo.md b/docs/content/commands/rclone_config_userinfo.md
index 45fcfa02c..7c3fc91af 100644
--- a/docs/content/commands/rclone_config_userinfo.md
+++ b/docs/content/commands/rclone_config_userinfo.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone config userinfo"
+description: "Prints info about logged in user of remote."
 slug: rclone_config_userinfo
 url: /commands/rclone_config_userinfo/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/config/userinfo/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_copy.md b/docs/content/commands/rclone_copy.md
index 9b4246b20..0b970e7bc 100644
--- a/docs/content/commands/rclone_copy.md
+++ b/docs/content/commands/rclone_copy.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone copy"
+description: "Copy files from source to dest, skipping already copied"
 slug: rclone_copy
 url: /commands/rclone_copy/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/copy/ and as part of making a release run "make commanddocs"
@@ -54,8 +55,8 @@ option when copying a small number of files into a large destination
 can speed transfers up greatly.
 
 For example, if you have many files in /path/to/src but only a few of
-them change every day, you can to copy all the files which have
-changed recently very efficiently like this:
+them change every day, you can copy all the files which have changed
+recently very efficiently like this:
 
     rclone copy --max-age 24h --no-traverse /path/to/src remote:
 
diff --git a/docs/content/commands/rclone_copyto.md b/docs/content/commands/rclone_copyto.md
index b7571e961..203a72f44 100644
--- a/docs/content/commands/rclone_copyto.md
+++ b/docs/content/commands/rclone_copyto.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone copyto"
+description: "Copy files from source to dest, skipping already copied"
 slug: rclone_copyto
 url: /commands/rclone_copyto/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/copyto/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_copyurl.md b/docs/content/commands/rclone_copyurl.md
index d42fbbad0..45c0ca7ef 100644
--- a/docs/content/commands/rclone_copyurl.md
+++ b/docs/content/commands/rclone_copyurl.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone copyurl"
+description: "Copy url content to dest."
 slug: rclone_copyurl
 url: /commands/rclone_copyurl/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/copyurl/ and as part of making a release run "make commanddocs"
@@ -34,8 +35,8 @@ rclone copyurl https://example.com dest:path [flags]
 
 ```
   -a, --auto-filename   Get the file name from the URL and use it for destination file path
-      --no-clobber      Prevent file overwriting on destination
   -h, --help            help for copyurl
+      --no-clobber      Prevent overwriting file with same name
       --stdout          Write the output to stdout rather than a file
 ```
 
diff --git a/docs/content/commands/rclone_cryptcheck.md b/docs/content/commands/rclone_cryptcheck.md
index 22d4f4ded..55e1d2d5c 100644
--- a/docs/content/commands/rclone_cryptcheck.md
+++ b/docs/content/commands/rclone_cryptcheck.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone cryptcheck"
+description: "Cryptcheck checks the integrity of a crypted remote."
 slug: rclone_cryptcheck
 url: /commands/rclone_cryptcheck/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/cryptcheck/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_cryptdecode.md b/docs/content/commands/rclone_cryptdecode.md
index 0a906e859..aa68edab8 100644
--- a/docs/content/commands/rclone_cryptdecode.md
+++ b/docs/content/commands/rclone_cryptdecode.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone cryptdecode"
+description: "Cryptdecode returns unencrypted file names."
 slug: rclone_cryptdecode
 url: /commands/rclone_cryptdecode/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/cryptdecode/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_dbhashsum.md b/docs/content/commands/rclone_dbhashsum.md
deleted file mode 100644
index 2a789c44f..000000000
--- a/docs/content/commands/rclone_dbhashsum.md
+++ /dev/null
@@ -1,36 +0,0 @@
----
-date: 2020-02-10T12:28:36Z
-title: "rclone dbhashsum"
-slug: rclone_dbhashsum
-url: /commands/rclone_dbhashsum/
-# autogenerated - DO NOT EDIT, instead edit the source code in cmd/dbhashsum/ and as part of making a release run "make commanddocs"
----
-## rclone dbhashsum
-
-Produces a Dropbox hash file for all the objects in the path.
-
-### Synopsis
-
-
-Produces a Dropbox hash file for all the objects in the path.  The
-hashes are calculated according to [Dropbox content hash
-rules](https://www.dropbox.com/developers/reference/content-hash).
-The output is in the same format as md5sum and sha1sum.
-
-
-```
-rclone dbhashsum remote:path [flags]
-```
-
-### Options
-
-```
-  -h, --help   help for dbhashsum
-```
-
-See the [global flags page](/flags/) for global options not listed here.
-
-### SEE ALSO
-
-* [rclone](/commands/rclone/)	 - Show help for rclone commands, flags and backends.
-
diff --git a/docs/content/commands/rclone_dedupe.md b/docs/content/commands/rclone_dedupe.md
index 9829ca43e..16561fbab 100644
--- a/docs/content/commands/rclone_dedupe.md
+++ b/docs/content/commands/rclone_dedupe.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone dedupe"
+description: "Interactively find duplicate files and delete/rename them."
 slug: rclone_dedupe
 url: /commands/rclone_dedupe/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/dedupe/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_delete.md b/docs/content/commands/rclone_delete.md
index ef6623d9c..86d43b06d 100644
--- a/docs/content/commands/rclone_delete.md
+++ b/docs/content/commands/rclone_delete.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone delete"
+description: "Remove the contents of path."
 slug: rclone_delete
 url: /commands/rclone_delete/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/delete/ and as part of making a release run "make commanddocs"
@@ -19,6 +20,8 @@ filters so can be used to selectively delete files.
 alone. If you want to delete a directory and all of its contents use
 `rclone purge`
 
+If you supply the --rmdirs flag, it will remove all empty directories along with it.
+
 Eg delete all files bigger than 100MBytes
 
 Check what would be deleted first (use either)
@@ -41,7 +44,8 @@ rclone delete remote:path [flags]
 ### Options
 
 ```
-  -h, --help   help for delete
+  -h, --help     help for delete
+      --rmdirs   rmdirs removes empty directories but leaves root intact
 ```
 
 See the [global flags page](/flags/) for global options not listed here.
diff --git a/docs/content/commands/rclone_deletefile.md b/docs/content/commands/rclone_deletefile.md
index f79d247a5..c76029705 100644
--- a/docs/content/commands/rclone_deletefile.md
+++ b/docs/content/commands/rclone_deletefile.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone deletefile"
+description: "Remove a single file from remote."
 slug: rclone_deletefile
 url: /commands/rclone_deletefile/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/deletefile/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_genautocomplete.md b/docs/content/commands/rclone_genautocomplete.md
index 29e9f3c01..ed9346264 100644
--- a/docs/content/commands/rclone_genautocomplete.md
+++ b/docs/content/commands/rclone_genautocomplete.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone genautocomplete"
+description: "Output completion script for a given shell."
 slug: rclone_genautocomplete
 url: /commands/rclone_genautocomplete/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/genautocomplete/ and as part of making a release run "make commanddocs"
@@ -28,5 +29,6 @@ See the [global flags page](/flags/) for global options not listed here.
 
 * [rclone](/commands/rclone/)	 - Show help for rclone commands, flags and backends.
 * [rclone genautocomplete bash](/commands/rclone_genautocomplete_bash/)	 - Output bash completion script for rclone.
+* [rclone genautocomplete fish](/commands/rclone_genautocomplete_fish/)	 - Output fish completion script for rclone.
 * [rclone genautocomplete zsh](/commands/rclone_genautocomplete_zsh/)	 - Output zsh completion script for rclone.
 
diff --git a/docs/content/commands/rclone_genautocomplete_bash.md b/docs/content/commands/rclone_genautocomplete_bash.md
index cf4c5be60..be76195b0 100644
--- a/docs/content/commands/rclone_genautocomplete_bash.md
+++ b/docs/content/commands/rclone_genautocomplete_bash.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone genautocomplete bash"
+description: "Output bash completion script for rclone."
 slug: rclone_genautocomplete_bash
 url: /commands/rclone_genautocomplete_bash/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/genautocomplete/bash/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_genautocomplete_fish.md b/docs/content/commands/rclone_genautocomplete_fish.md
new file mode 100644
index 000000000..d5ca19fcb
--- /dev/null
+++ b/docs/content/commands/rclone_genautocomplete_fish.md
@@ -0,0 +1,47 @@
+---
+date: 2020-05-18T10:38:09+01:00
+title: "rclone genautocomplete fish"
+description: "Output fish completion script for rclone."
+slug: rclone_genautocomplete_fish
+url: /commands/rclone_genautocomplete_fish/
+# autogenerated - DO NOT EDIT, instead edit the source code in cmd/genautocomplete/fish/ and as part of making a release run "make commanddocs"
+---
+## rclone genautocomplete fish
+
+Output fish completion script for rclone.
+
+### Synopsis
+
+
+Generates a fish autocompletion script for rclone.
+
+This writes to /etc/fish/completions/rclone.fish by default so will
+probably need to be run with sudo or as root, eg
+
+    sudo rclone genautocomplete fish
+
+Logout and login again to use the autocompletion scripts, or source
+them directly
+
+    . /etc/fish/completions/rclone.fish
+
+If you supply a command line argument the script will be written
+there.
+
+
+```
+rclone genautocomplete fish [output_file] [flags]
+```
+
+### Options
+
+```
+  -h, --help   help for fish
+```
+
+See the [global flags page](/flags/) for global options not listed here.
+
+### SEE ALSO
+
+* [rclone genautocomplete](/commands/rclone_genautocomplete/)	 - Output completion script for a given shell.
+
diff --git a/docs/content/commands/rclone_genautocomplete_zsh.md b/docs/content/commands/rclone_genautocomplete_zsh.md
index 5998b1f09..78f1816c9 100644
--- a/docs/content/commands/rclone_genautocomplete_zsh.md
+++ b/docs/content/commands/rclone_genautocomplete_zsh.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone genautocomplete zsh"
+description: "Output zsh completion script for rclone."
 slug: rclone_genautocomplete_zsh
 url: /commands/rclone_genautocomplete_zsh/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/genautocomplete/zsh/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_gendocs.md b/docs/content/commands/rclone_gendocs.md
index e6b92eabc..5f4fc99cb 100644
--- a/docs/content/commands/rclone_gendocs.md
+++ b/docs/content/commands/rclone_gendocs.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone gendocs"
+description: "Output markdown docs for rclone to the directory supplied."
 slug: rclone_gendocs
 url: /commands/rclone_gendocs/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/gendocs/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_hashsum.md b/docs/content/commands/rclone_hashsum.md
index 9ffb75ad5..bb174e52d 100644
--- a/docs/content/commands/rclone_hashsum.md
+++ b/docs/content/commands/rclone_hashsum.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone hashsum"
+description: "Produces an hashsum file for all the objects in the path."
 slug: rclone_hashsum
 url: /commands/rclone_hashsum/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/hashsum/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_link.md b/docs/content/commands/rclone_link.md
index 9bec2f369..6c6bf848c 100644
--- a/docs/content/commands/rclone_link.md
+++ b/docs/content/commands/rclone_link.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone link"
+description: "Generate public link to file/folder."
 slug: rclone_link
 url: /commands/rclone_link/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/link/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_listremotes.md b/docs/content/commands/rclone_listremotes.md
index 3f60bd657..63b7535da 100644
--- a/docs/content/commands/rclone_listremotes.md
+++ b/docs/content/commands/rclone_listremotes.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone listremotes"
+description: "List all the remotes in the config file."
 slug: rclone_listremotes
 url: /commands/rclone_listremotes/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/listremotes/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_ls.md b/docs/content/commands/rclone_ls.md
index 813d8ec30..db44dc999 100644
--- a/docs/content/commands/rclone_ls.md
+++ b/docs/content/commands/rclone_ls.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone ls"
+description: "List the objects in the path with size and path."
 slug: rclone_ls
 url: /commands/rclone_ls/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/ls/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_lsd.md b/docs/content/commands/rclone_lsd.md
index d234c9f3c..03b884450 100644
--- a/docs/content/commands/rclone_lsd.md
+++ b/docs/content/commands/rclone_lsd.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone lsd"
+description: "List all directories/containers/buckets in the path."
 slug: rclone_lsd
 url: /commands/rclone_lsd/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/lsd/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_lsf.md b/docs/content/commands/rclone_lsf.md
index 8ad16fd6c..74cca7000 100644
--- a/docs/content/commands/rclone_lsf.md
+++ b/docs/content/commands/rclone_lsf.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone lsf"
+description: "List directories and objects in remote:path formatted for parsing"
 slug: rclone_lsf
 url: /commands/rclone_lsf/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/lsf/ and as part of making a release run "make commanddocs"
@@ -98,13 +99,13 @@ Eg
     "this file contains a comma, in the file name.txt",6
 
 Note that the --absolute parameter is useful for making lists of files
-to pass to an rclone copy with the --files-from flag.
+to pass to an rclone copy with the --files-from-raw flag.
 
 For example to find all the files modified within one day and copy
 those only (without traversing the whole directory structure):
 
     rclone lsf --absolute --files-only --max-age 1d /path/to/local > new_files
-    rclone copy --files-from new_files /path/to/local remote:path
+    rclone copy --files-from-raw new_files /path/to/local remote:path
 
 
 Any of the filtering options can be applied to this command.
diff --git a/docs/content/commands/rclone_lsjson.md b/docs/content/commands/rclone_lsjson.md
index c7d242df3..87dba57bc 100644
--- a/docs/content/commands/rclone_lsjson.md
+++ b/docs/content/commands/rclone_lsjson.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone lsjson"
+description: "List directories and objects in the path in JSON format."
 slug: rclone_lsjson
 url: /commands/rclone_lsjson/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/lsjson/ and as part of making a release run "make commanddocs"
@@ -35,17 +36,25 @@ The output is an array of Items, where each Item looks like this
       "Tier" : "hot",
    }
 
-If --hash is not specified the Hashes property won't be emitted.
+If --hash is not specified the Hashes property won't be emitted. The
+types of hash can be specified with the --hash-type parameter (which
+may be repeated). If --hash-type is set then it implies --hash.
 
-If --no-modtime is specified then ModTime will be blank. This can speed things up on remotes where reading the ModTime takes an extra request (eg s3, swift).
+If --no-modtime is specified then ModTime will be blank. This can
+speed things up on remotes where reading the ModTime takes an extra
+request (eg s3, swift).
 
-If --no-mimetype is specified then MimeType will be blank. This can speed things up on remotes where reading the MimeType takes an extra request (eg s3, swift).
+If --no-mimetype is specified then MimeType will be blank. This can
+speed things up on remotes where reading the MimeType takes an extra
+request (eg s3, swift).
 
 If --encrypted is not specified the Encrypted won't be emitted.
 
-If --dirs-only is not specified files in addition to directories are returned
+If --dirs-only is not specified files in addition to directories are
+returned
 
-If --files-only is not specified directories in addition to the files will be returned.
+If --files-only is not specified directories in addition to the files
+will be returned.
 
 The Path field will only show folders below the remote path being listed.
 If "remote:path" contains the file "subfolder/file.txt", the Path for "file.txt"
@@ -97,15 +106,16 @@ rclone lsjson remote:path [flags]
 ### Options
 
 ```
-      --dirs-only     Show only directories in the listing.
-  -M, --encrypted     Show the encrypted names.
-      --files-only    Show only files in the listing.
-      --hash          Include hashes in the output (may take longer).
-  -h, --help          help for lsjson
-      --no-mimetype   Don't read the mime type (can speed things up).
-      --no-modtime    Don't read the modification time (can speed things up).
-      --original      Show the ID of the underlying Object.
-  -R, --recursive     Recurse into the listing.
+      --dirs-only               Show only directories in the listing.
+  -M, --encrypted               Show the encrypted names.
+      --files-only              Show only files in the listing.
+      --hash                    Include hashes in the output (may take longer).
+      --hash-type stringArray   Show only this hash type (may be repeated).
+  -h, --help                    help for lsjson
+      --no-mimetype             Don't read the mime type (can speed things up).
+      --no-modtime              Don't read the modification time (can speed things up).
+      --original                Show the ID of the underlying Object.
+  -R, --recursive               Recurse into the listing.
 ```
 
 See the [global flags page](/flags/) for global options not listed here.
diff --git a/docs/content/commands/rclone_lsl.md b/docs/content/commands/rclone_lsl.md
index 689d4ef3f..fa1eec09c 100644
--- a/docs/content/commands/rclone_lsl.md
+++ b/docs/content/commands/rclone_lsl.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone lsl"
+description: "List the objects in path with modification time, size and path."
 slug: rclone_lsl
 url: /commands/rclone_lsl/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/lsl/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_md5sum.md b/docs/content/commands/rclone_md5sum.md
index d723d7a21..24c945774 100644
--- a/docs/content/commands/rclone_md5sum.md
+++ b/docs/content/commands/rclone_md5sum.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone md5sum"
+description: "Produces an md5sum file for all the objects in the path."
 slug: rclone_md5sum
 url: /commands/rclone_md5sum/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/md5sum/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_mkdir.md b/docs/content/commands/rclone_mkdir.md
index d9055b5e0..57fd278d6 100644
--- a/docs/content/commands/rclone_mkdir.md
+++ b/docs/content/commands/rclone_mkdir.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone mkdir"
+description: "Make the path if it doesn't already exist."
 slug: rclone_mkdir
 url: /commands/rclone_mkdir/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/mkdir/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_mount.md b/docs/content/commands/rclone_mount.md
index 8e6c922e5..253fffbc2 100644
--- a/docs/content/commands/rclone_mount.md
+++ b/docs/content/commands/rclone_mount.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T15:20:27Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone mount"
+description: "Mount the remote as file system on a mountpoint."
 slug: rclone_mount
 url: /commands/rclone_mount/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/mount/ and as part of making a release run "make commanddocs"
@@ -23,13 +24,16 @@ foreground mode by default, use the --daemon flag to specify background mode mod
 Background mode is only supported on Linux and OSX, you can only run mount in
 foreground mode on Windows.
 
-Start the mount like this
+On Linux/macOS/FreeBSD Start the mount like this where `/path/to/local/mount`
+is an **empty** **existing** directory.
 
     rclone mount remote:path/to/files /path/to/local/mount
 
-Or on Windows like this where X: is an unused drive letter
+Or on Windows like this where `X:` is an unused drive letter
+or use a path to **non-existent** directory.
 
     rclone mount remote:path/to/files X:
+    rclone mount remote:path/to/files C:\path\to\nonexistent\directory
 
 When running in background mode the user will have to stop the mount manually (specified below).
 
@@ -371,9 +375,10 @@ rclone mount remote:path /path/to/mountpoint [flags]
 ### Options
 
 ```
-      --allow-non-empty                        Allow mounting over a non-empty directory.
+      --allow-non-empty                        Allow mounting over a non-empty directory (not Windows).
       --allow-other                            Allow access to other users.
       --allow-root                             Allow access to root user.
+      --async-read                             Use asynchronous reads. (default true)
       --attr-timeout duration                  Time for which file/directory attributes are cached. (default 1s)
       --daemon                                 Run mount as a daemon (background mode).
       --daemon-timeout duration                Time limit for rclone to respond to kernel (not supported by all OSes).
@@ -401,6 +406,8 @@ rclone mount remote:path /path/to/mountpoint [flags]
       --vfs-case-insensitive                   If a file name not found, find a case insensitive match.
       --vfs-read-chunk-size SizeSuffix         Read the source objects in chunks. (default 128M)
       --vfs-read-chunk-size-limit SizeSuffix   If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached. 'off' is unlimited. (default off)
+      --vfs-read-wait duration                 Time to wait for in-sequence read before seeking. (default 5ms)
+      --vfs-write-wait duration                Time to wait for in-sequence write before giving error. (default 1s)
       --volname string                         Set the volume name (not supported by all OSes).
       --write-back-cache                       Makes kernel buffer writes before sending them to rclone. Without this, writethrough caching is used.
 ```
diff --git a/docs/content/commands/rclone_move.md b/docs/content/commands/rclone_move.md
index e5ebe95b1..bba35aa30 100644
--- a/docs/content/commands/rclone_move.md
+++ b/docs/content/commands/rclone_move.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone move"
+description: "Move files from source to dest."
 slug: rclone_move
 url: /commands/rclone_move/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/move/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_moveto.md b/docs/content/commands/rclone_moveto.md
index 8dcbac8f1..52ac8fc62 100644
--- a/docs/content/commands/rclone_moveto.md
+++ b/docs/content/commands/rclone_moveto.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone moveto"
+description: "Move file or directory from source to dest."
 slug: rclone_moveto
 url: /commands/rclone_moveto/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/moveto/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_ncdu.md b/docs/content/commands/rclone_ncdu.md
index 175944780..176783045 100644
--- a/docs/content/commands/rclone_ncdu.md
+++ b/docs/content/commands/rclone_ncdu.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone ncdu"
+description: "Explore a remote with a text based user interface."
 slug: rclone_ncdu
 url: /commands/rclone_ncdu/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/ncdu/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_obscure.md b/docs/content/commands/rclone_obscure.md
index a23e3dfce..92783b880 100644
--- a/docs/content/commands/rclone_obscure.md
+++ b/docs/content/commands/rclone_obscure.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone obscure"
+description: "Obscure password for use in the rclone.conf"
 slug: rclone_obscure
 url: /commands/rclone_obscure/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/obscure/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_purge.md b/docs/content/commands/rclone_purge.md
index 6125265c7..2b25b58a3 100644
--- a/docs/content/commands/rclone_purge.md
+++ b/docs/content/commands/rclone_purge.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone purge"
+description: "Remove the path and all of its contents."
 slug: rclone_purge
 url: /commands/rclone_purge/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/purge/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_rc.md b/docs/content/commands/rclone_rc.md
index 045b60610..91510aa46 100644
--- a/docs/content/commands/rclone_rc.md
+++ b/docs/content/commands/rclone_rc.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone rc"
+description: "Run a command against a running rclone."
 slug: rclone_rc
 url: /commands/rclone_rc/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/rc/ and as part of making a release run "make commanddocs"
@@ -31,6 +32,29 @@ The --json parameter can be used to pass in a JSON blob as an input
 instead of key=value arguments.  This is the only way of passing in
 more complicated values.
 
+The -o/--opt option can be used to set a key "opt" with key, value
+options in the form "-o key=value" or "-o key". It can be repeated as
+many times as required. This is useful for rc commands which take the
+"opt" parameter which by convention is a dictionary of strings.
+
+    -o key=value -o key2
+
+Will place this in the "opt" value
+
+    {"key":"value", "key2","")
+
+
+The -a/--arg option can be used to set strings in the "arg" value. It
+can be repeated as many times as required. This is useful for rc
+commands which take the "arg" parameter which by convention is a list
+of strings.
+
+    -a value -a value2
+
+Will place this in the "arg" value
+
+    ["value", "value2"]
+
 Use --loopback to connect to the rclone instance running "rclone rc".
 This is very useful for testing commands without having to run an
 rclone rc server, eg:
@@ -46,13 +70,15 @@ rclone rc commands parameter [flags]
 ### Options
 
 ```
-  -h, --help          help for rc
-      --json string   Input JSON - use instead of key=value args.
-      --loopback      If set connect to this rclone instance not via HTTP.
-      --no-output     If set don't output the JSON result.
-      --pass string   Password to use to connect to rclone remote control.
-      --url string    URL to connect to rclone remote control. (default "http://localhost:5572/")
-      --user string   Username to use to rclone remote control.
+  -a, --arg stringArray   Argument placed in the "arg" array.
+  -h, --help              help for rc
+      --json string       Input JSON - use instead of key=value args.
+      --loopback          If set connect to this rclone instance not via HTTP.
+      --no-output         If set don't output the JSON result.
+  -o, --opt stringArray   Option in the form name=value or name placed in the "opt" array.
+      --pass string       Password to use to connect to rclone remote control.
+      --url string        URL to connect to rclone remote control. (default "http://localhost:5572/")
+      --user string       Username to use to rclone remote control.
 ```
 
 See the [global flags page](/flags/) for global options not listed here.
diff --git a/docs/content/commands/rclone_rcat.md b/docs/content/commands/rclone_rcat.md
index e9e2622e6..0728f3c60 100644
--- a/docs/content/commands/rclone_rcat.md
+++ b/docs/content/commands/rclone_rcat.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone rcat"
+description: "Copies standard input to file on remote."
 slug: rclone_rcat
 url: /commands/rclone_rcat/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/rcat/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_rcd.md b/docs/content/commands/rclone_rcd.md
index 61fda1f46..7c64e2826 100644
--- a/docs/content/commands/rclone_rcd.md
+++ b/docs/content/commands/rclone_rcd.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone rcd"
+description: "Run rclone listening to remote control commands only."
 slug: rclone_rcd
 url: /commands/rclone_rcd/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/rcd/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_rmdir.md b/docs/content/commands/rclone_rmdir.md
index 36565032d..779cfcba5 100644
--- a/docs/content/commands/rclone_rmdir.md
+++ b/docs/content/commands/rclone_rmdir.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone rmdir"
+description: "Remove the path if empty."
 slug: rclone_rmdir
 url: /commands/rclone_rmdir/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/rmdir/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_rmdirs.md b/docs/content/commands/rclone_rmdirs.md
index 5b8e94b7b..5e38ca125 100644
--- a/docs/content/commands/rclone_rmdirs.md
+++ b/docs/content/commands/rclone_rmdirs.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone rmdirs"
+description: "Remove empty directories under the path."
 slug: rclone_rmdirs
 url: /commands/rclone_rmdirs/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/rmdirs/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_serve.md b/docs/content/commands/rclone_serve.md
index 6df07f3a8..6b69efdac 100644
--- a/docs/content/commands/rclone_serve.md
+++ b/docs/content/commands/rclone_serve.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone serve"
+description: "Serve a remote over a protocol."
 slug: rclone_serve
 url: /commands/rclone_serve/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/serve/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_serve_dlna.md b/docs/content/commands/rclone_serve_dlna.md
index 209dbe5b7..5401b7e72 100644
--- a/docs/content/commands/rclone_serve_dlna.md
+++ b/docs/content/commands/rclone_serve_dlna.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T14:59:49Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone serve dlna"
+description: "Serve remote:path over DLNA"
 slug: rclone_serve_dlna
 url: /commands/rclone_serve_dlna/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/serve/dlna/ and as part of making a release run "make commanddocs"
@@ -235,6 +236,8 @@ rclone serve dlna remote:path [flags]
       --vfs-case-insensitive                   If a file name not found, find a case insensitive match.
       --vfs-read-chunk-size SizeSuffix         Read the source objects in chunks. (default 128M)
       --vfs-read-chunk-size-limit SizeSuffix   If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached. 'off' is unlimited. (default off)
+      --vfs-read-wait duration                 Time to wait for in-sequence read before seeking. (default 5ms)
+      --vfs-write-wait duration                Time to wait for in-sequence write before giving error. (default 1s)
 ```
 
 See the [global flags page](/flags/) for global options not listed here.
diff --git a/docs/content/commands/rclone_serve_ftp.md b/docs/content/commands/rclone_serve_ftp.md
index e3a602ee6..eb9f6517d 100644
--- a/docs/content/commands/rclone_serve_ftp.md
+++ b/docs/content/commands/rclone_serve_ftp.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T14:59:49Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone serve ftp"
+description: "Serve remote:path over FTP."
 slug: rclone_serve_ftp
 url: /commands/rclone_serve_ftp/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/serve/ftp/ and as part of making a release run "make commanddocs"
@@ -318,6 +319,8 @@ rclone serve ftp remote:path [flags]
       --vfs-case-insensitive                   If a file name not found, find a case insensitive match.
       --vfs-read-chunk-size SizeSuffix         Read the source objects in chunks. (default 128M)
       --vfs-read-chunk-size-limit SizeSuffix   If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached. 'off' is unlimited. (default off)
+      --vfs-read-wait duration                 Time to wait for in-sequence read before seeking. (default 5ms)
+      --vfs-write-wait duration                Time to wait for in-sequence write before giving error. (default 1s)
 ```
 
 See the [global flags page](/flags/) for global options not listed here.
diff --git a/docs/content/commands/rclone_serve_http.md b/docs/content/commands/rclone_serve_http.md
index 29aae5753..308ca7573 100644
--- a/docs/content/commands/rclone_serve_http.md
+++ b/docs/content/commands/rclone_serve_http.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T14:59:49Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone serve http"
+description: "Serve the remote over HTTP."
 slug: rclone_serve_http
 url: /commands/rclone_serve_http/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/serve/http/ and as part of making a release run "make commanddocs"
@@ -48,6 +49,29 @@ inserts leading and trailing "/" on --baseurl, so --baseurl "rclone",
 --baseurl "/rclone" and --baseurl "/rclone/" are all treated
 identically.
 
+--template allows a user to specify a custom markup template for http
+and webdav serve functions.  The server exports the following markup
+to be used within the template to server pages:
+
+| Parameter   | Description |
+| :---------- | :---------- |
+| .Name       | The full path of a file/directory. |
+| .Title      | Directory listing of .Name |
+| .Sort       | The current sort used.  This is changeable via ?sort= parameter |
+|             | Sort Options: namedirfist,name,size,time (default namedirfirst) |
+| .Order      | The current ordering used.  This is changeable via ?order= parameter |
+|             | Order Options: asc,desc (default asc) |
+| .Query      | Currently unused. |
+| .Breadcrumb | Allows for creating a relative navigation |
+|-- .Link     | The relative to the root link of the Text. |
+|-- .Text     | The Name of the directory. |
+| .Entries    | Information about a specific file/directory. |
+|-- .URL      | The 'url' of an entry.  |
+|-- .Leaf     | Currently same as 'URL' but intended to be 'just' the name. |
+|-- .IsDir    | Boolean for if an entry is a directory or not. |
+|-- .Size     | Size in Bytes of the entry. |
+|-- .ModTime  | The UTC timestamp of an entry. |
+
 #### Authentication
 
 By default this will serve files without needing a login.
@@ -282,6 +306,7 @@ rclone serve http remote:path [flags]
       --realm string                           realm for authentication (default "rclone")
       --server-read-timeout duration           Timeout for server reading data (default 1h0m0s)
       --server-write-timeout duration          Timeout for server writing data (default 1h0m0s)
+      --template string                        User Specified Template.
       --uid uint32                             Override the uid field set by the filesystem. (default 1000)
       --umask int                              Override the permission bits set by the filesystem. (default 2)
       --user string                            User name for authentication.
@@ -292,6 +317,8 @@ rclone serve http remote:path [flags]
       --vfs-case-insensitive                   If a file name not found, find a case insensitive match.
       --vfs-read-chunk-size SizeSuffix         Read the source objects in chunks. (default 128M)
       --vfs-read-chunk-size-limit SizeSuffix   If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached. 'off' is unlimited. (default off)
+      --vfs-read-wait duration                 Time to wait for in-sequence read before seeking. (default 5ms)
+      --vfs-write-wait duration                Time to wait for in-sequence write before giving error. (default 1s)
 ```
 
 See the [global flags page](/flags/) for global options not listed here.
diff --git a/docs/content/commands/rclone_serve_restic.md b/docs/content/commands/rclone_serve_restic.md
index fd39fc2d8..8ba81d1ef 100644
--- a/docs/content/commands/rclone_serve_restic.md
+++ b/docs/content/commands/rclone_serve_restic.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone serve restic"
+description: "Serve the remote for restic's REST API."
 slug: rclone_serve_restic
 url: /commands/rclone_serve_restic/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/serve/restic/ and as part of making a release run "make commanddocs"
@@ -114,6 +115,29 @@ inserts leading and trailing "/" on --baseurl, so --baseurl "rclone",
 --baseurl "/rclone" and --baseurl "/rclone/" are all treated
 identically.
 
+--template allows a user to specify a custom markup template for http
+and webdav serve functions.  The server exports the following markup
+to be used within the template to server pages:
+
+| Parameter   | Description |
+| :---------- | :---------- |
+| .Name       | The full path of a file/directory. |
+| .Title      | Directory listing of .Name |
+| .Sort       | The current sort used.  This is changeable via ?sort= parameter |
+|             | Sort Options: namedirfist,name,size,time (default namedirfirst) |
+| .Order      | The current ordering used.  This is changeable via ?order= parameter |
+|             | Order Options: asc,desc (default asc) |
+| .Query      | Currently unused. |
+| .Breadcrumb | Allows for creating a relative navigation |
+|-- .Link     | The relative to the root link of the Text. |
+|-- .Text     | The Name of the directory. |
+| .Entries    | Information about a specific file/directory. |
+|-- .URL      | The 'url' of an entry.  |
+|-- .Leaf     | Currently same as 'URL' but intended to be 'just' the name. |
+|-- .IsDir    | Boolean for if an entry is a directory or not. |
+|-- .Size     | Size in Bytes of the entry. |
+|-- .ModTime  | The UTC timestamp of an entry. |
+
 #### Authentication
 
 By default this will serve files without needing a login.
@@ -170,6 +194,7 @@ rclone serve restic remote:path [flags]
       --server-read-timeout duration    Timeout for server reading data (default 1h0m0s)
       --server-write-timeout duration   Timeout for server writing data (default 1h0m0s)
       --stdio                           run an HTTP2 server on stdin/stdout
+      --template string                 User Specified Template.
       --user string                     User name for authentication.
 ```
 
diff --git a/docs/content/commands/rclone_serve_sftp.md b/docs/content/commands/rclone_serve_sftp.md
index 81286915d..c2f20c312 100644
--- a/docs/content/commands/rclone_serve_sftp.md
+++ b/docs/content/commands/rclone_serve_sftp.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T14:59:49Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone serve sftp"
+description: "Serve the remote over SFTP."
 slug: rclone_serve_sftp
 url: /commands/rclone_serve_sftp/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/serve/sftp/ and as part of making a release run "make commanddocs"
@@ -312,7 +313,7 @@ rclone serve sftp remote:path [flags]
       --file-perms FileMode                    File permissions (default 0666)
       --gid uint32                             Override the gid field set by the filesystem. (default 1000)
   -h, --help                                   help for sftp
-      --key string                             SSH private key file (leave blank to auto generate)
+      --key stringArray                        SSH private host key file (Can be multi-valued, leave blank to auto generate)
       --no-auth                                Allow connections with no authentication if set.
       --no-checksum                            Don't compare checksums on up/download.
       --no-modtime                             Don't read/write the modification time (can speed things up).
@@ -330,6 +331,8 @@ rclone serve sftp remote:path [flags]
       --vfs-case-insensitive                   If a file name not found, find a case insensitive match.
       --vfs-read-chunk-size SizeSuffix         Read the source objects in chunks. (default 128M)
       --vfs-read-chunk-size-limit SizeSuffix   If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached. 'off' is unlimited. (default off)
+      --vfs-read-wait duration                 Time to wait for in-sequence read before seeking. (default 5ms)
+      --vfs-write-wait duration                Time to wait for in-sequence write before giving error. (default 1s)
 ```
 
 See the [global flags page](/flags/) for global options not listed here.
diff --git a/docs/content/commands/rclone_serve_webdav.md b/docs/content/commands/rclone_serve_webdav.md
index b75f64d10..c389fc714 100644
--- a/docs/content/commands/rclone_serve_webdav.md
+++ b/docs/content/commands/rclone_serve_webdav.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T14:59:49Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone serve webdav"
+description: "Serve remote:path over webdav."
 slug: rclone_serve_webdav
 url: /commands/rclone_serve_webdav/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/serve/webdav/ and as part of making a release run "make commanddocs"
@@ -56,6 +57,29 @@ inserts leading and trailing "/" on --baseurl, so --baseurl "rclone",
 --baseurl "/rclone" and --baseurl "/rclone/" are all treated
 identically.
 
+--template allows a user to specify a custom markup template for http
+and webdav serve functions.  The server exports the following markup
+to be used within the template to server pages:
+
+| Parameter   | Description |
+| :---------- | :---------- |
+| .Name       | The full path of a file/directory. |
+| .Title      | Directory listing of .Name |
+| .Sort       | The current sort used.  This is changeable via ?sort= parameter |
+|             | Sort Options: namedirfist,name,size,time (default namedirfirst) |
+| .Order      | The current ordering used.  This is changeable via ?order= parameter |
+|             | Order Options: asc,desc (default asc) |
+| .Query      | Currently unused. |
+| .Breadcrumb | Allows for creating a relative navigation |
+|-- .Link     | The relative to the root link of the Text. |
+|-- .Text     | The Name of the directory. |
+| .Entries    | Information about a specific file/directory. |
+|-- .URL      | The 'url' of an entry.  |
+|-- .Leaf     | Currently same as 'URL' but intended to be 'just' the name. |
+|-- .IsDir    | Boolean for if an entry is a directory or not. |
+|-- .Size     | Size in Bytes of the entry. |
+|-- .ModTime  | The UTC timestamp of an entry. |
+
 #### Authentication
 
 By default this will serve files without needing a login.
@@ -374,6 +398,7 @@ rclone serve webdav remote:path [flags]
       --realm string                           realm for authentication (default "rclone")
       --server-read-timeout duration           Timeout for server reading data (default 1h0m0s)
       --server-write-timeout duration          Timeout for server writing data (default 1h0m0s)
+      --template string                        User Specified Template.
       --uid uint32                             Override the uid field set by the filesystem. (default 1000)
       --umask int                              Override the permission bits set by the filesystem. (default 2)
       --user string                            User name for authentication.
@@ -384,6 +409,8 @@ rclone serve webdav remote:path [flags]
       --vfs-case-insensitive                   If a file name not found, find a case insensitive match.
       --vfs-read-chunk-size SizeSuffix         Read the source objects in chunks. (default 128M)
       --vfs-read-chunk-size-limit SizeSuffix   If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached. 'off' is unlimited. (default off)
+      --vfs-read-wait duration                 Time to wait for in-sequence read before seeking. (default 5ms)
+      --vfs-write-wait duration                Time to wait for in-sequence write before giving error. (default 1s)
 ```
 
 See the [global flags page](/flags/) for global options not listed here.
diff --git a/docs/content/commands/rclone_settier.md b/docs/content/commands/rclone_settier.md
index 038a7c4b3..07145434f 100644
--- a/docs/content/commands/rclone_settier.md
+++ b/docs/content/commands/rclone_settier.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone settier"
+description: "Changes storage class/tier of objects in remote."
 slug: rclone_settier
 url: /commands/rclone_settier/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/settier/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_sha1sum.md b/docs/content/commands/rclone_sha1sum.md
index b201bf370..7a2224a6e 100644
--- a/docs/content/commands/rclone_sha1sum.md
+++ b/docs/content/commands/rclone_sha1sum.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone sha1sum"
+description: "Produces an sha1sum file for all the objects in the path."
 slug: rclone_sha1sum
 url: /commands/rclone_sha1sum/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/sha1sum/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_size.md b/docs/content/commands/rclone_size.md
index 5c10437ba..421a885dd 100644
--- a/docs/content/commands/rclone_size.md
+++ b/docs/content/commands/rclone_size.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone size"
+description: "Prints the total size and number of objects in remote:path."
 slug: rclone_size
 url: /commands/rclone_size/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/size/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_sync.md b/docs/content/commands/rclone_sync.md
index a7cffe0a0..f36062433 100644
--- a/docs/content/commands/rclone_sync.md
+++ b/docs/content/commands/rclone_sync.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone sync"
+description: "Make source and dest identical, modifying destination only."
 slug: rclone_sync
 url: /commands/rclone_sync/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/sync/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_touch.md b/docs/content/commands/rclone_touch.md
index b7fc942be..a8e18cfcb 100644
--- a/docs/content/commands/rclone_touch.md
+++ b/docs/content/commands/rclone_touch.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone touch"
+description: "Create new file or change file modification time."
 slug: rclone_touch
 url: /commands/rclone_touch/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/touch/ and as part of making a release run "make commanddocs"
@@ -11,7 +12,22 @@ Create new file or change file modification time.
 
 ### Synopsis
 
-Create new file or change file modification time.
+
+Set the modification time on object(s) as specified by remote:path to
+have the current time.
+
+If remote:path does not exist then a zero sized object will be created
+unless the --no-create flag is provided.
+
+If --timestamp is used then it will set the modification time to that
+time instead of the current time. Times may be specified as one of:
+
+- 'YYMMDD' - eg. 17.10.30
+- 'YYYY-MM-DDTHH:MM:SS' - eg. 2006-01-02T15:04:05
+
+Note that --timestamp is in UTC if you want local time then add the
+--localtime flag.
+
 
 ```
 rclone touch remote:path [flags]
@@ -21,8 +37,9 @@ rclone touch remote:path [flags]
 
 ```
   -h, --help               help for touch
+      --localtime          Use localtime for timestamp, not UTC.
   -C, --no-create          Do not create the file if it does not exist.
-  -t, --timestamp string   Change the modification times to the specified time instead of the current time of day. The argument is of the form 'YYMMDD' (ex. 17.10.30) or 'YYYY-MM-DDTHH:MM:SS' (ex. 2006-01-02T15:04:05)
+  -t, --timestamp string   Use specified time instead of the current time of day.
 ```
 
 See the [global flags page](/flags/) for global options not listed here.
diff --git a/docs/content/commands/rclone_tree.md b/docs/content/commands/rclone_tree.md
index ab0f42bb4..e35ce498d 100644
--- a/docs/content/commands/rclone_tree.md
+++ b/docs/content/commands/rclone_tree.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone tree"
+description: "List the contents of the remote in a tree like fashion."
 slug: rclone_tree
 url: /commands/rclone_tree/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/tree/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/commands/rclone_version.md b/docs/content/commands/rclone_version.md
index 5a83b6529..5d554ec19 100644
--- a/docs/content/commands/rclone_version.md
+++ b/docs/content/commands/rclone_version.md
@@ -1,6 +1,7 @@
 ---
-date: 2020-02-10T12:28:36Z
+date: 2020-05-18T10:38:09+01:00
 title: "rclone version"
+description: "Show the version number."
 slug: rclone_version
 url: /commands/rclone_version/
 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/version/ and as part of making a release run "make commanddocs"
diff --git a/docs/content/flags.md b/docs/content/flags.md
index f0129d36e..46c175093 100755
--- a/docs/content/flags.md
+++ b/docs/content/flags.md
@@ -1,7 +1,7 @@
 ---
 title: "Global Flags"
 description: "Rclone Global Flags"
-date: "2020-05-17T11:53:14+01:00"
+date: "2020-05-18T10:38:09+01:00"
 ---
 
 # Global Flags
@@ -144,7 +144,7 @@ These flags are available for every command.
       --use-json-log                         Use json log format.
       --use-mmap                             Use mmap allocator (see docs).
       --use-server-modtime                   Use server modified time instead of object metadata
-      --user-agent string                    Set the user-agent to a specified string. The default is rclone/ version (default "rclone/v1.51.0-340-g9ba6ccef-new-docs-beta")
+      --user-agent string                    Set the user-agent to a specified string. The default is rclone/ version (default "rclone/v1.51.0-346-g560d2619-new-docs-beta")
   -v, --verbose count                        Print lots more stuff (repeat for more)
 ```
 
diff --git a/docs/layouts/section/commands.html b/docs/layouts/section/commands.html
index 9a4940eb9..93d7eac03 100644
--- a/docs/layouts/section/commands.html
+++ b/docs/layouts/section/commands.html
@@ -1,33 +1,41 @@
 {{ template "chrome/header.html" . }}
 <body>
-{{ template "chrome/navbar.html" . }}
+  {{ template "chrome/navbar.html" . }}
 <div class="container">
-    <div class="row">
-        <div class="col-md-10">
-            <div class="well well-sm">
-                    <h3>{{ .Title }}<br> <small>{{ .Description }}</small></h3>
-                    <hr>
-<!-- FIXME factor this properly -->
-<body>
-  <h1>Rclone Commands</h1>
-  <p>This is an index of all commands in rclone.</p>
-  <ul>
-    {{ range .Data.Pages }}
-    <li><a href="{{ .RelPermalink }}">{{ .Title }}</a></li>
-    {{ end }}
-  </ul>
-  <p>Docs autogenerated by <a href="https://github.com/spf13/cobra">Cobra</a>.</p>
-<!-- FIXME factor this properly -->
-
-
-            </div>
-        </div>
-
-        <!-- Sidebar -->
-        <div class="col-md-2">
-            {{ template "chrome/menu.html" . }}
+  <div class="row">
+    <div class="col-md-10">
+      <div class="card">
+        <div class="card-body bg-light">
+          <h1>Rclone Commands</h1>
+          <p>
+            This is an index of all commands in rclone. Run "rclone
+            command --help" to see the help for that command.
+          </p>
+          <table>
+            <thead>
+              <tr>
+                <th>Command</th>
+                <th>Description</th>
+              </tr>
+            </thead>
+            <tbody>
+              {{ range .Data.Pages }}
+              <tr>
+                <td><a href="{{ .RelPermalink }}">{{ .Title }}</a></td>
+                <td>{{ .Description }}</td>
+              </tr>
+              {{ end }}
+            </tbody>
+          </table>
         </div>
+      </div>
     </div>
-{{ template "chrome/footer.copyright.html" . }}
+    
+    <!-- Sidebar -->
+    <div class="col-md-2">
+      {{ template "chrome/menu.html" . }}
+    </div>
+  </div>
+  {{ template "chrome/footer.copyright.html" . }}
 </div>
 {{ template "chrome/footer.html" . }}