diff --git a/implementors/actix_web/service/trait.HttpServiceFactory.js b/implementors/actix_web/service/trait.HttpServiceFactory.js
index 4e95393..2cbab09 100644
--- a/implementors/actix_web/service/trait.HttpServiceFactory.js
+++ b/implementors/actix_web/service/trait.HttpServiceFactory.js
@@ -1,3 +1,3 @@
(function() {var implementors = {};
-implementors["pages"] = [{"text":"impl HttpServiceFactory for update","synthetic":false,"types":["pages::deploy::update"]},{"text":"impl HttpServiceFactory for deploy_info","synthetic":false,"types":["pages::deploy::deploy_info"]},{"text":"impl HttpServiceFactory for build_details","synthetic":false,"types":["pages::meta::build_details"]},{"text":"impl HttpServiceFactory for index","synthetic":false,"types":["pages::serve::index"]}];
+implementors["pages"] = [{"text":"impl HttpServiceFactory for update","synthetic":false,"types":["pages::deploy::update"]},{"text":"impl HttpServiceFactory for deploy_info","synthetic":false,"types":["pages::deploy::deploy_info"]},{"text":"impl HttpServiceFactory for build_details","synthetic":false,"types":["pages::meta::build_details"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/clap/derive/trait.Args.js b/implementors/clap/derive/trait.Args.js
deleted file mode 100644
index 0f1b32c..0000000
--- a/implementors/clap/derive/trait.Args.js
+++ /dev/null
@@ -1,3 +0,0 @@
-(function() {var implementors = {};
-implementors["pages"] = [{"text":"impl Args for Cli","synthetic":false,"types":["pages::Cli"]}];
-if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/clap/derive/trait.CommandFactory.js b/implementors/clap/derive/trait.CommandFactory.js
deleted file mode 100644
index b04fc65..0000000
--- a/implementors/clap/derive/trait.CommandFactory.js
+++ /dev/null
@@ -1,3 +0,0 @@
-(function() {var implementors = {};
-implementors["pages"] = [{"text":"impl CommandFactory for Cli","synthetic":false,"types":["pages::Cli"]}];
-if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/clap/derive/trait.FromArgMatches.js b/implementors/clap/derive/trait.FromArgMatches.js
deleted file mode 100644
index a8ed812..0000000
--- a/implementors/clap/derive/trait.FromArgMatches.js
+++ /dev/null
@@ -1,3 +0,0 @@
-(function() {var implementors = {};
-implementors["pages"] = [{"text":"impl FromArgMatches for Cli","synthetic":false,"types":["pages::Cli"]},{"text":"impl FromArgMatches for Commands","synthetic":false,"types":["pages::Commands"]}];
-if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/clap/derive/trait.Parser.js b/implementors/clap/derive/trait.Parser.js
deleted file mode 100644
index 5dc16ba..0000000
--- a/implementors/clap/derive/trait.Parser.js
+++ /dev/null
@@ -1,3 +0,0 @@
-(function() {var implementors = {};
-implementors["pages"] = [{"text":"impl Parser for Cli","synthetic":false,"types":["pages::Cli"]}];
-if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/clap/derive/trait.Subcommand.js b/implementors/clap/derive/trait.Subcommand.js
deleted file mode 100644
index 8fad26d..0000000
--- a/implementors/clap/derive/trait.Subcommand.js
+++ /dev/null
@@ -1,3 +0,0 @@
-(function() {var implementors = {};
-implementors["pages"] = [{"text":"impl Subcommand for Commands","synthetic":false,"types":["pages::Commands"]}];
-if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/clone/trait.Clone.js b/implementors/core/clone/trait.Clone.js
index 15f6c71..a1e6ace 100644
--- a/implementors/core/clone/trait.Clone.js
+++ b/implementors/core/clone/trait.Clone.js
@@ -1,3 +1,3 @@
(function() {var implementors = {};
-implementors["pages"] = [{"text":"impl Clone for Ctx","synthetic":false,"types":["pages::ctx::Ctx"]},{"text":"impl Clone for Database","synthetic":false,"types":["pages::db::Database"]},{"text":"impl<'a> Clone for Register<'a>","synthetic":false,"types":["pages::db::Register"]},{"text":"impl<'a> Clone for UpdateEmail<'a>","synthetic":false,"types":["pages::db::UpdateEmail"]},{"text":"impl<'a> Clone for Login<'a>","synthetic":false,"types":["pages::db::Login"]},{"text":"impl Clone for NameHash","synthetic":false,"types":["pages::db::NameHash"]},{"text":"impl Clone for DeployEvent","synthetic":false,"types":["pages::deploy::DeployEvent"]},{"text":"impl Clone for DeploySecret","synthetic":false,"types":["pages::deploy::DeploySecret"]},{"text":"impl Clone for DeployInfo","synthetic":false,"types":["pages::deploy::DeployInfo"]},{"text":"impl Clone for GitFileMode","synthetic":false,"types":["pages::git::GitFileMode"]},{"text":"impl Clone for FileInfo","synthetic":false,"types":["pages::git::FileInfo"]},{"text":"impl Clone for ContentType","synthetic":false,"types":["pages::git::ContentType"]},{"text":"impl<'a> Clone for BuildDetails<'a>","synthetic":false,"types":["pages::meta::BuildDetails"]},{"text":"impl Clone for Page","synthetic":false,"types":["pages::page::Page"]},{"text":"impl Clone for Server","synthetic":false,"types":["pages::settings::Server"]},{"text":"impl Clone for DBType","synthetic":false,"types":["pages::settings::DBType"]},{"text":"impl Clone for Database","synthetic":false,"types":["pages::settings::Database"]},{"text":"impl Clone for Settings","synthetic":false,"types":["pages::settings::Settings"]}];
+implementors["pages"] = [{"text":"impl Clone for Ctx","synthetic":false,"types":["pages::ctx::Ctx"]},{"text":"impl Clone for DeployEvent","synthetic":false,"types":["pages::deploy::DeployEvent"]},{"text":"impl Clone for DeploySecret","synthetic":false,"types":["pages::deploy::DeploySecret"]},{"text":"impl Clone for DeployInfo","synthetic":false,"types":["pages::deploy::DeployInfo"]},{"text":"impl<'a> Clone for BuildDetails<'a>","synthetic":false,"types":["pages::meta::BuildDetails"]},{"text":"impl Clone for Page","synthetic":false,"types":["pages::page::Page"]},{"text":"impl Clone for Server","synthetic":false,"types":["pages::settings::Server"]},{"text":"impl Clone for Settings","synthetic":false,"types":["pages::settings::Settings"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/cmp/trait.Eq.js b/implementors/core/cmp/trait.Eq.js
deleted file mode 100644
index 13e284b..0000000
--- a/implementors/core/cmp/trait.Eq.js
+++ /dev/null
@@ -1,3 +0,0 @@
-(function() {var implementors = {};
-implementors["pages"] = [{"text":"impl<'a> Eq for Register<'a>","synthetic":false,"types":["pages::db::Register"]},{"text":"impl<'a> Eq for UpdateEmail<'a>","synthetic":false,"types":["pages::db::UpdateEmail"]},{"text":"impl<'a> Eq for Login<'a>","synthetic":false,"types":["pages::db::Login"]},{"text":"impl Eq for NameHash","synthetic":false,"types":["pages::db::NameHash"]},{"text":"impl Eq for DeploySecret","synthetic":false,"types":["pages::deploy::DeploySecret"]},{"text":"impl Eq for DeployInfo","synthetic":false,"types":["pages::deploy::DeployInfo"]},{"text":"impl Eq for GitFileMode","synthetic":false,"types":["pages::git::GitFileMode"]},{"text":"impl Eq for FileInfo","synthetic":false,"types":["pages::git::FileInfo"]},{"text":"impl Eq for ContentType","synthetic":false,"types":["pages::git::ContentType"]},{"text":"impl Eq for Page","synthetic":false,"types":["pages::page::Page"]},{"text":"impl Eq for DBType","synthetic":false,"types":["pages::settings::DBType"]}];
-if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/cmp/trait.PartialEq.js b/implementors/core/cmp/trait.PartialEq.js
index ab0ea24..3918baf 100644
--- a/implementors/core/cmp/trait.PartialEq.js
+++ b/implementors/core/cmp/trait.PartialEq.js
@@ -1,3 +1,3 @@
(function() {var implementors = {};
-implementors["pages"] = [{"text":"impl<'a> PartialEq<Register<'a>> for Register<'a>","synthetic":false,"types":["pages::db::Register"]},{"text":"impl<'a> PartialEq<UpdateEmail<'a>> for UpdateEmail<'a>","synthetic":false,"types":["pages::db::UpdateEmail"]},{"text":"impl<'a> PartialEq<Login<'a>> for Login<'a>","synthetic":false,"types":["pages::db::Login"]},{"text":"impl PartialEq<NameHash> for NameHash","synthetic":false,"types":["pages::db::NameHash"]},{"text":"impl PartialEq<DeploySecret> for DeploySecret","synthetic":false,"types":["pages::deploy::DeploySecret"]},{"text":"impl PartialEq<DeployInfo> for DeployInfo","synthetic":false,"types":["pages::deploy::DeployInfo"]},{"text":"impl PartialEq<FSError> for FSError","synthetic":false,"types":["pages::errors::FSError"]},{"text":"impl PartialEq<ConfigError> for ConfigError","synthetic":false,"types":["pages::errors::ConfigError"]},{"text":"impl PartialEq<ServiceError> for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl PartialEq<GitFileMode> for GitFileMode","synthetic":false,"types":["pages::git::GitFileMode"]},{"text":"impl PartialEq<FileInfo> for FileInfo","synthetic":false,"types":["pages::git::FileInfo"]},{"text":"impl PartialEq<ContentType> for ContentType","synthetic":false,"types":["pages::git::ContentType"]},{"text":"impl PartialEq<Page> for Page","synthetic":false,"types":["pages::page::Page"]},{"text":"impl PartialEq<DBType> for DBType","synthetic":false,"types":["pages::settings::DBType"]}];
+implementors["pages"] = [{"text":"impl PartialEq<DeploySecret> for DeploySecret","synthetic":false,"types":["pages::deploy::DeploySecret"]},{"text":"impl PartialEq<DeployInfo> for DeployInfo","synthetic":false,"types":["pages::deploy::DeployInfo"]},{"text":"impl PartialEq<FSError> for FSError","synthetic":false,"types":["pages::errors::FSError"]},{"text":"impl PartialEq<ConfigError> for ConfigError","synthetic":false,"types":["pages::errors::ConfigError"]},{"text":"impl PartialEq<ServiceError> for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl PartialEq<Page> for Page","synthetic":false,"types":["pages::page::Page"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/convert/trait.From.js b/implementors/core/convert/trait.From.js
index 31d097a..62684e9 100644
--- a/implementors/core/convert/trait.From.js
+++ b/implementors/core/convert/trait.From.js
@@ -1,3 +1,3 @@
(function() {var implementors = {};
-implementors["pages"] = [{"text":"impl From<Error> for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl From<ConfigError> for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl From<ParseError> for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl From<Error> for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl From<isize> for GitFileMode","synthetic":false,"types":["pages::git::GitFileMode"]},{"text":"impl From<&TreeEntry<'_>> for GitFileMode","synthetic":false,"types":["pages::git::GitFileMode"]},{"text":"impl From<TreeEntry<'_>> for GitFileMode","synthetic":false,"types":["pages::git::GitFileMode"]}];
+implementors["pages"] = [{"text":"impl From<Error> for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl From<ConfigError> for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl From<ParseError> for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl From<Error> for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/fmt/trait.Debug.js b/implementors/core/fmt/trait.Debug.js
index cd0b802..59ac462 100644
--- a/implementors/core/fmt/trait.Debug.js
+++ b/implementors/core/fmt/trait.Debug.js
@@ -1,3 +1,3 @@
(function() {var implementors = {};
-implementors["pages"] = [{"text":"impl<'a> Debug for Register<'a>","synthetic":false,"types":["pages::db::Register"]},{"text":"impl<'a> Debug for UpdateEmail<'a>","synthetic":false,"types":["pages::db::UpdateEmail"]},{"text":"impl<'a> Debug for Login<'a>","synthetic":false,"types":["pages::db::Login"]},{"text":"impl Debug for NameHash","synthetic":false,"types":["pages::db::NameHash"]},{"text":"impl Debug for DeployEvent","synthetic":false,"types":["pages::deploy::DeployEvent"]},{"text":"impl Debug for DeploySecret","synthetic":false,"types":["pages::deploy::DeploySecret"]},{"text":"impl Debug for DeployInfo","synthetic":false,"types":["pages::deploy::DeployInfo"]},{"text":"impl Debug for FSError","synthetic":false,"types":["pages::errors::FSError"]},{"text":"impl Debug for ConfigError","synthetic":false,"types":["pages::errors::ConfigError"]},{"text":"impl Debug for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl Debug for ErrorToResponse","synthetic":false,"types":["pages::errors::ErrorToResponse"]},{"text":"impl Debug for GitFileMode","synthetic":false,"types":["pages::git::GitFileMode"]},{"text":"impl Debug for FileInfo","synthetic":false,"types":["pages::git::FileInfo"]},{"text":"impl Debug for ContentType","synthetic":false,"types":["pages::git::ContentType"]},{"text":"impl<'a> Debug for BuildDetails<'a>","synthetic":false,"types":["pages::meta::BuildDetails"]},{"text":"impl Debug for Page","synthetic":false,"types":["pages::page::Page"]},{"text":"impl Debug for Server","synthetic":false,"types":["pages::settings::Server"]},{"text":"impl Debug for DBType","synthetic":false,"types":["pages::settings::DBType"]},{"text":"impl Debug for Database","synthetic":false,"types":["pages::settings::Database"]},{"text":"impl Debug for Settings","synthetic":false,"types":["pages::settings::Settings"]}];
+implementors["pages"] = [{"text":"impl Debug for DeployEvent","synthetic":false,"types":["pages::deploy::DeployEvent"]},{"text":"impl Debug for DeploySecret","synthetic":false,"types":["pages::deploy::DeploySecret"]},{"text":"impl Debug for DeployInfo","synthetic":false,"types":["pages::deploy::DeployInfo"]},{"text":"impl Debug for FSError","synthetic":false,"types":["pages::errors::FSError"]},{"text":"impl Debug for ConfigError","synthetic":false,"types":["pages::errors::ConfigError"]},{"text":"impl Debug for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl Debug for ErrorToResponse","synthetic":false,"types":["pages::errors::ErrorToResponse"]},{"text":"impl<'a> Debug for BuildDetails<'a>","synthetic":false,"types":["pages::meta::BuildDetails"]},{"text":"impl Debug for Page","synthetic":false,"types":["pages::page::Page"]},{"text":"impl Debug for Server","synthetic":false,"types":["pages::settings::Server"]},{"text":"impl Debug for Settings","synthetic":false,"types":["pages::settings::Settings"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/fmt/trait.Display.js b/implementors/core/fmt/trait.Display.js
index 2a25853..9fe8c4c 100644
--- a/implementors/core/fmt/trait.Display.js
+++ b/implementors/core/fmt/trait.Display.js
@@ -1,3 +1,3 @@
(function() {var implementors = {};
-implementors["pages"] = [{"text":"impl Display for FSError","synthetic":false,"types":["pages::errors::FSError"]},{"text":"impl Display for ConfigError","synthetic":false,"types":["pages::errors::ConfigError"]},{"text":"impl Display for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl Display for DBType","synthetic":false,"types":["pages::settings::DBType"]}];
+implementors["pages"] = [{"text":"impl Display for FSError","synthetic":false,"types":["pages::errors::FSError"]},{"text":"impl Display for ConfigError","synthetic":false,"types":["pages::errors::ConfigError"]},{"text":"impl Display for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/marker/trait.Freeze.js b/implementors/core/marker/trait.Freeze.js
index 6510247..e86145b 100644
--- a/implementors/core/marker/trait.Freeze.js
+++ b/implementors/core/marker/trait.Freeze.js
@@ -1,3 +1,3 @@
(function() {var implementors = {};
-implementors["pages"] = [{"text":"impl Freeze for Ctx","synthetic":true,"types":["pages::ctx::Ctx"]},{"text":"impl Freeze for ConnectionOptions","synthetic":true,"types":["pages::db::ConnectionOptions"]},{"text":"impl Freeze for Conn","synthetic":true,"types":["pages::db::Conn"]},{"text":"impl Freeze for Fresh","synthetic":true,"types":["pages::db::Fresh"]},{"text":"impl Freeze for Database","synthetic":true,"types":["pages::db::Database"]},{"text":"impl<'a> Freeze for Register<'a>","synthetic":true,"types":["pages::db::Register"]},{"text":"impl<'a> Freeze for UpdateEmail<'a>","synthetic":true,"types":["pages::db::UpdateEmail"]},{"text":"impl<'a> Freeze for Login<'a>","synthetic":true,"types":["pages::db::Login"]},{"text":"impl Freeze for NameHash","synthetic":true,"types":["pages::db::NameHash"]},{"text":"impl Freeze for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl Freeze for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl Freeze for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl Freeze for DeploySecret","synthetic":true,"types":["pages::deploy::DeploySecret"]},{"text":"impl Freeze for DeployInfo","synthetic":true,"types":["pages::deploy::DeployInfo"]},{"text":"impl Freeze for deploy_info","synthetic":true,"types":["pages::deploy::deploy_info"]},{"text":"impl Freeze for FSError","synthetic":true,"types":["pages::errors::FSError"]},{"text":"impl Freeze for ConfigError","synthetic":true,"types":["pages::errors::ConfigError"]},{"text":"impl Freeze for ServiceError","synthetic":true,"types":["pages::errors::ServiceError"]},{"text":"impl Freeze for ErrorToResponse","synthetic":true,"types":["pages::errors::ErrorToResponse"]},{"text":"impl Freeze for GitFileMode","synthetic":true,"types":["pages::git::GitFileMode"]},{"text":"impl Freeze for FileInfo","synthetic":true,"types":["pages::git::FileInfo"]},{"text":"impl Freeze for ContentType","synthetic":true,"types":["pages::git::ContentType"]},{"text":"impl Freeze for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl<'a> Freeze for BuildDetails<'a>","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl Freeze for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl Freeze for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl<'a> Freeze for Preview<'a>","synthetic":true,"types":["pages::preview::Preview"]},{"text":"impl Freeze for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl Freeze for Serve","synthetic":true,"types":["pages::serve::routes::Serve"]},{"text":"impl Freeze for index","synthetic":true,"types":["pages::serve::index"]},{"text":"impl Freeze for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl Freeze for DBType","synthetic":true,"types":["pages::settings::DBType"]},{"text":"impl Freeze for Database","synthetic":true,"types":["pages::settings::Database"]},{"text":"impl Freeze for Settings","synthetic":true,"types":["pages::settings::Settings"]},{"text":"impl Freeze for Cli","synthetic":true,"types":["pages::Cli"]},{"text":"impl Freeze for Commands","synthetic":true,"types":["pages::Commands"]}];
+implementors["pages"] = [{"text":"impl Freeze for Ctx","synthetic":true,"types":["pages::ctx::Ctx"]},{"text":"impl Freeze for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl Freeze for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl Freeze for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl Freeze for DeploySecret","synthetic":true,"types":["pages::deploy::DeploySecret"]},{"text":"impl Freeze for DeployInfo","synthetic":true,"types":["pages::deploy::DeployInfo"]},{"text":"impl Freeze for deploy_info","synthetic":true,"types":["pages::deploy::deploy_info"]},{"text":"impl Freeze for FSError","synthetic":true,"types":["pages::errors::FSError"]},{"text":"impl Freeze for ConfigError","synthetic":true,"types":["pages::errors::ConfigError"]},{"text":"impl Freeze for ServiceError","synthetic":true,"types":["pages::errors::ServiceError"]},{"text":"impl Freeze for ErrorToResponse","synthetic":true,"types":["pages::errors::ErrorToResponse"]},{"text":"impl Freeze for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl<'a> Freeze for BuildDetails<'a>","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl Freeze for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl Freeze for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl Freeze for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl Freeze for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl Freeze for Settings","synthetic":true,"types":["pages::settings::Settings"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/marker/trait.Send.js b/implementors/core/marker/trait.Send.js
index 710fd75..29cf9b5 100644
--- a/implementors/core/marker/trait.Send.js
+++ b/implementors/core/marker/trait.Send.js
@@ -1,3 +1,3 @@
(function() {var implementors = {};
-implementors["pages"] = [{"text":"impl Send for Ctx","synthetic":true,"types":["pages::ctx::Ctx"]},{"text":"impl Send for ConnectionOptions","synthetic":true,"types":["pages::db::ConnectionOptions"]},{"text":"impl Send for Conn","synthetic":true,"types":["pages::db::Conn"]},{"text":"impl Send for Fresh","synthetic":true,"types":["pages::db::Fresh"]},{"text":"impl Send for Database","synthetic":true,"types":["pages::db::Database"]},{"text":"impl<'a> Send for Register<'a>","synthetic":true,"types":["pages::db::Register"]},{"text":"impl<'a> Send for UpdateEmail<'a>","synthetic":true,"types":["pages::db::UpdateEmail"]},{"text":"impl<'a> Send for Login<'a>","synthetic":true,"types":["pages::db::Login"]},{"text":"impl Send for NameHash","synthetic":true,"types":["pages::db::NameHash"]},{"text":"impl Send for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl Send for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl Send for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl Send for DeploySecret","synthetic":true,"types":["pages::deploy::DeploySecret"]},{"text":"impl Send for DeployInfo","synthetic":true,"types":["pages::deploy::DeployInfo"]},{"text":"impl Send for deploy_info","synthetic":true,"types":["pages::deploy::deploy_info"]},{"text":"impl Send for FSError","synthetic":true,"types":["pages::errors::FSError"]},{"text":"impl Send for ConfigError","synthetic":true,"types":["pages::errors::ConfigError"]},{"text":"impl Send for ServiceError","synthetic":true,"types":["pages::errors::ServiceError"]},{"text":"impl Send for ErrorToResponse","synthetic":true,"types":["pages::errors::ErrorToResponse"]},{"text":"impl Send for GitFileMode","synthetic":true,"types":["pages::git::GitFileMode"]},{"text":"impl Send for FileInfo","synthetic":true,"types":["pages::git::FileInfo"]},{"text":"impl Send for ContentType","synthetic":true,"types":["pages::git::ContentType"]},{"text":"impl Send for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl<'a> Send for BuildDetails<'a>","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl Send for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl Send for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl<'a> Send for Preview<'a>","synthetic":true,"types":["pages::preview::Preview"]},{"text":"impl Send for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl Send for Serve","synthetic":true,"types":["pages::serve::routes::Serve"]},{"text":"impl Send for index","synthetic":true,"types":["pages::serve::index"]},{"text":"impl Send for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl Send for DBType","synthetic":true,"types":["pages::settings::DBType"]},{"text":"impl Send for Database","synthetic":true,"types":["pages::settings::Database"]},{"text":"impl Send for Settings","synthetic":true,"types":["pages::settings::Settings"]},{"text":"impl Send for Cli","synthetic":true,"types":["pages::Cli"]},{"text":"impl Send for Commands","synthetic":true,"types":["pages::Commands"]}];
+implementors["pages"] = [{"text":"impl Send for Ctx","synthetic":true,"types":["pages::ctx::Ctx"]},{"text":"impl Send for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl Send for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl Send for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl Send for DeploySecret","synthetic":true,"types":["pages::deploy::DeploySecret"]},{"text":"impl Send for DeployInfo","synthetic":true,"types":["pages::deploy::DeployInfo"]},{"text":"impl Send for deploy_info","synthetic":true,"types":["pages::deploy::deploy_info"]},{"text":"impl Send for FSError","synthetic":true,"types":["pages::errors::FSError"]},{"text":"impl Send for ConfigError","synthetic":true,"types":["pages::errors::ConfigError"]},{"text":"impl Send for ServiceError","synthetic":true,"types":["pages::errors::ServiceError"]},{"text":"impl Send for ErrorToResponse","synthetic":true,"types":["pages::errors::ErrorToResponse"]},{"text":"impl Send for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl<'a> Send for BuildDetails<'a>","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl Send for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl Send for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl Send for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl Send for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl Send for Settings","synthetic":true,"types":["pages::settings::Settings"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/marker/trait.StructuralEq.js b/implementors/core/marker/trait.StructuralEq.js
deleted file mode 100644
index 572534c..0000000
--- a/implementors/core/marker/trait.StructuralEq.js
+++ /dev/null
@@ -1,3 +0,0 @@
-(function() {var implementors = {};
-implementors["pages"] = [{"text":"impl<'a> StructuralEq for Register<'a>","synthetic":false,"types":["pages::db::Register"]},{"text":"impl<'a> StructuralEq for UpdateEmail<'a>","synthetic":false,"types":["pages::db::UpdateEmail"]},{"text":"impl<'a> StructuralEq for Login<'a>","synthetic":false,"types":["pages::db::Login"]},{"text":"impl StructuralEq for NameHash","synthetic":false,"types":["pages::db::NameHash"]},{"text":"impl StructuralEq for DeploySecret","synthetic":false,"types":["pages::deploy::DeploySecret"]},{"text":"impl StructuralEq for DeployInfo","synthetic":false,"types":["pages::deploy::DeployInfo"]},{"text":"impl StructuralEq for GitFileMode","synthetic":false,"types":["pages::git::GitFileMode"]},{"text":"impl StructuralEq for FileInfo","synthetic":false,"types":["pages::git::FileInfo"]},{"text":"impl StructuralEq for ContentType","synthetic":false,"types":["pages::git::ContentType"]},{"text":"impl StructuralEq for Page","synthetic":false,"types":["pages::page::Page"]},{"text":"impl StructuralEq for DBType","synthetic":false,"types":["pages::settings::DBType"]}];
-if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/marker/trait.StructuralPartialEq.js b/implementors/core/marker/trait.StructuralPartialEq.js
index d3d84aa..465fee6 100644
--- a/implementors/core/marker/trait.StructuralPartialEq.js
+++ b/implementors/core/marker/trait.StructuralPartialEq.js
@@ -1,3 +1,3 @@
(function() {var implementors = {};
-implementors["pages"] = [{"text":"impl<'a> StructuralPartialEq for Register<'a>","synthetic":false,"types":["pages::db::Register"]},{"text":"impl<'a> StructuralPartialEq for UpdateEmail<'a>","synthetic":false,"types":["pages::db::UpdateEmail"]},{"text":"impl<'a> StructuralPartialEq for Login<'a>","synthetic":false,"types":["pages::db::Login"]},{"text":"impl StructuralPartialEq for NameHash","synthetic":false,"types":["pages::db::NameHash"]},{"text":"impl StructuralPartialEq for DeploySecret","synthetic":false,"types":["pages::deploy::DeploySecret"]},{"text":"impl StructuralPartialEq for DeployInfo","synthetic":false,"types":["pages::deploy::DeployInfo"]},{"text":"impl StructuralPartialEq for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl StructuralPartialEq for GitFileMode","synthetic":false,"types":["pages::git::GitFileMode"]},{"text":"impl StructuralPartialEq for FileInfo","synthetic":false,"types":["pages::git::FileInfo"]},{"text":"impl StructuralPartialEq for ContentType","synthetic":false,"types":["pages::git::ContentType"]},{"text":"impl StructuralPartialEq for Page","synthetic":false,"types":["pages::page::Page"]},{"text":"impl StructuralPartialEq for DBType","synthetic":false,"types":["pages::settings::DBType"]}];
+implementors["pages"] = [{"text":"impl StructuralPartialEq for DeploySecret","synthetic":false,"types":["pages::deploy::DeploySecret"]},{"text":"impl StructuralPartialEq for DeployInfo","synthetic":false,"types":["pages::deploy::DeployInfo"]},{"text":"impl StructuralPartialEq for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl StructuralPartialEq for Page","synthetic":false,"types":["pages::page::Page"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/marker/trait.Sync.js b/implementors/core/marker/trait.Sync.js
index 3304863..0240008 100644
--- a/implementors/core/marker/trait.Sync.js
+++ b/implementors/core/marker/trait.Sync.js
@@ -1,3 +1,3 @@
(function() {var implementors = {};
-implementors["pages"] = [{"text":"impl Sync for Ctx","synthetic":true,"types":["pages::ctx::Ctx"]},{"text":"impl Sync for ConnectionOptions","synthetic":true,"types":["pages::db::ConnectionOptions"]},{"text":"impl Sync for Conn","synthetic":true,"types":["pages::db::Conn"]},{"text":"impl Sync for Fresh","synthetic":true,"types":["pages::db::Fresh"]},{"text":"impl Sync for Database","synthetic":true,"types":["pages::db::Database"]},{"text":"impl<'a> Sync for Register<'a>","synthetic":true,"types":["pages::db::Register"]},{"text":"impl<'a> Sync for UpdateEmail<'a>","synthetic":true,"types":["pages::db::UpdateEmail"]},{"text":"impl<'a> Sync for Login<'a>","synthetic":true,"types":["pages::db::Login"]},{"text":"impl Sync for NameHash","synthetic":true,"types":["pages::db::NameHash"]},{"text":"impl Sync for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl Sync for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl Sync for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl Sync for DeploySecret","synthetic":true,"types":["pages::deploy::DeploySecret"]},{"text":"impl Sync for DeployInfo","synthetic":true,"types":["pages::deploy::DeployInfo"]},{"text":"impl Sync for deploy_info","synthetic":true,"types":["pages::deploy::deploy_info"]},{"text":"impl Sync for FSError","synthetic":true,"types":["pages::errors::FSError"]},{"text":"impl Sync for ConfigError","synthetic":true,"types":["pages::errors::ConfigError"]},{"text":"impl Sync for ServiceError","synthetic":true,"types":["pages::errors::ServiceError"]},{"text":"impl Sync for ErrorToResponse","synthetic":true,"types":["pages::errors::ErrorToResponse"]},{"text":"impl Sync for GitFileMode","synthetic":true,"types":["pages::git::GitFileMode"]},{"text":"impl Sync for FileInfo","synthetic":true,"types":["pages::git::FileInfo"]},{"text":"impl Sync for ContentType","synthetic":true,"types":["pages::git::ContentType"]},{"text":"impl Sync for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl<'a> Sync for BuildDetails<'a>","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl Sync for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl Sync for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl<'a> Sync for Preview<'a>","synthetic":true,"types":["pages::preview::Preview"]},{"text":"impl Sync for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl Sync for Serve","synthetic":true,"types":["pages::serve::routes::Serve"]},{"text":"impl Sync for index","synthetic":true,"types":["pages::serve::index"]},{"text":"impl Sync for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl Sync for DBType","synthetic":true,"types":["pages::settings::DBType"]},{"text":"impl Sync for Database","synthetic":true,"types":["pages::settings::Database"]},{"text":"impl Sync for Settings","synthetic":true,"types":["pages::settings::Settings"]},{"text":"impl Sync for Cli","synthetic":true,"types":["pages::Cli"]},{"text":"impl Sync for Commands","synthetic":true,"types":["pages::Commands"]}];
+implementors["pages"] = [{"text":"impl Sync for Ctx","synthetic":true,"types":["pages::ctx::Ctx"]},{"text":"impl Sync for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl Sync for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl Sync for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl Sync for DeploySecret","synthetic":true,"types":["pages::deploy::DeploySecret"]},{"text":"impl Sync for DeployInfo","synthetic":true,"types":["pages::deploy::DeployInfo"]},{"text":"impl Sync for deploy_info","synthetic":true,"types":["pages::deploy::deploy_info"]},{"text":"impl Sync for FSError","synthetic":true,"types":["pages::errors::FSError"]},{"text":"impl Sync for ConfigError","synthetic":true,"types":["pages::errors::ConfigError"]},{"text":"impl Sync for ServiceError","synthetic":true,"types":["pages::errors::ServiceError"]},{"text":"impl Sync for ErrorToResponse","synthetic":true,"types":["pages::errors::ErrorToResponse"]},{"text":"impl Sync for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl<'a> Sync for BuildDetails<'a>","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl Sync for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl Sync for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl Sync for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl Sync for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl Sync for Settings","synthetic":true,"types":["pages::settings::Settings"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/marker/trait.Unpin.js b/implementors/core/marker/trait.Unpin.js
index cb1229c..5d67e45 100644
--- a/implementors/core/marker/trait.Unpin.js
+++ b/implementors/core/marker/trait.Unpin.js
@@ -1,3 +1,3 @@
(function() {var implementors = {};
-implementors["pages"] = [{"text":"impl Unpin for Ctx","synthetic":true,"types":["pages::ctx::Ctx"]},{"text":"impl Unpin for ConnectionOptions","synthetic":true,"types":["pages::db::ConnectionOptions"]},{"text":"impl Unpin for Conn","synthetic":true,"types":["pages::db::Conn"]},{"text":"impl Unpin for Fresh","synthetic":true,"types":["pages::db::Fresh"]},{"text":"impl Unpin for Database","synthetic":true,"types":["pages::db::Database"]},{"text":"impl<'a> Unpin for Register<'a>","synthetic":true,"types":["pages::db::Register"]},{"text":"impl<'a> Unpin for UpdateEmail<'a>","synthetic":true,"types":["pages::db::UpdateEmail"]},{"text":"impl<'a> Unpin for Login<'a>","synthetic":true,"types":["pages::db::Login"]},{"text":"impl Unpin for NameHash","synthetic":true,"types":["pages::db::NameHash"]},{"text":"impl Unpin for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl Unpin for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl Unpin for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl Unpin for DeploySecret","synthetic":true,"types":["pages::deploy::DeploySecret"]},{"text":"impl Unpin for DeployInfo","synthetic":true,"types":["pages::deploy::DeployInfo"]},{"text":"impl Unpin for deploy_info","synthetic":true,"types":["pages::deploy::deploy_info"]},{"text":"impl Unpin for FSError","synthetic":true,"types":["pages::errors::FSError"]},{"text":"impl Unpin for ConfigError","synthetic":true,"types":["pages::errors::ConfigError"]},{"text":"impl Unpin for ServiceError","synthetic":true,"types":["pages::errors::ServiceError"]},{"text":"impl Unpin for ErrorToResponse","synthetic":true,"types":["pages::errors::ErrorToResponse"]},{"text":"impl Unpin for GitFileMode","synthetic":true,"types":["pages::git::GitFileMode"]},{"text":"impl Unpin for FileInfo","synthetic":true,"types":["pages::git::FileInfo"]},{"text":"impl Unpin for ContentType","synthetic":true,"types":["pages::git::ContentType"]},{"text":"impl Unpin for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl<'a> Unpin for BuildDetails<'a>","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl Unpin for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl Unpin for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl<'a> Unpin for Preview<'a>","synthetic":true,"types":["pages::preview::Preview"]},{"text":"impl Unpin for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl Unpin for Serve","synthetic":true,"types":["pages::serve::routes::Serve"]},{"text":"impl Unpin for index","synthetic":true,"types":["pages::serve::index"]},{"text":"impl Unpin for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl Unpin for DBType","synthetic":true,"types":["pages::settings::DBType"]},{"text":"impl Unpin for Database","synthetic":true,"types":["pages::settings::Database"]},{"text":"impl Unpin for Settings","synthetic":true,"types":["pages::settings::Settings"]},{"text":"impl Unpin for Cli","synthetic":true,"types":["pages::Cli"]},{"text":"impl Unpin for Commands","synthetic":true,"types":["pages::Commands"]}];
+implementors["pages"] = [{"text":"impl Unpin for Ctx","synthetic":true,"types":["pages::ctx::Ctx"]},{"text":"impl Unpin for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl Unpin for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl Unpin for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl Unpin for DeploySecret","synthetic":true,"types":["pages::deploy::DeploySecret"]},{"text":"impl Unpin for DeployInfo","synthetic":true,"types":["pages::deploy::DeployInfo"]},{"text":"impl Unpin for deploy_info","synthetic":true,"types":["pages::deploy::deploy_info"]},{"text":"impl Unpin for FSError","synthetic":true,"types":["pages::errors::FSError"]},{"text":"impl Unpin for ConfigError","synthetic":true,"types":["pages::errors::ConfigError"]},{"text":"impl Unpin for ServiceError","synthetic":true,"types":["pages::errors::ServiceError"]},{"text":"impl Unpin for ErrorToResponse","synthetic":true,"types":["pages::errors::ErrorToResponse"]},{"text":"impl Unpin for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl<'a> Unpin for BuildDetails<'a>","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl Unpin for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl Unpin for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl Unpin for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl Unpin for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl Unpin for Settings","synthetic":true,"types":["pages::settings::Settings"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js b/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js
index 6f7a87f..ef02400 100644
--- a/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js
+++ b/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js
@@ -1,3 +1,3 @@
(function() {var implementors = {};
-implementors["pages"] = [{"text":"impl !RefUnwindSafe for Ctx","synthetic":true,"types":["pages::ctx::Ctx"]},{"text":"impl !RefUnwindSafe for ConnectionOptions","synthetic":true,"types":["pages::db::ConnectionOptions"]},{"text":"impl !RefUnwindSafe for Conn","synthetic":true,"types":["pages::db::Conn"]},{"text":"impl !RefUnwindSafe for Fresh","synthetic":true,"types":["pages::db::Fresh"]},{"text":"impl !RefUnwindSafe for Database","synthetic":true,"types":["pages::db::Database"]},{"text":"impl<'a> RefUnwindSafe for Register<'a>","synthetic":true,"types":["pages::db::Register"]},{"text":"impl<'a> RefUnwindSafe for UpdateEmail<'a>","synthetic":true,"types":["pages::db::UpdateEmail"]},{"text":"impl<'a> RefUnwindSafe for Login<'a>","synthetic":true,"types":["pages::db::Login"]},{"text":"impl RefUnwindSafe for NameHash","synthetic":true,"types":["pages::db::NameHash"]},{"text":"impl RefUnwindSafe for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl RefUnwindSafe for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl RefUnwindSafe for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl RefUnwindSafe for DeploySecret","synthetic":true,"types":["pages::deploy::DeploySecret"]},{"text":"impl RefUnwindSafe for DeployInfo","synthetic":true,"types":["pages::deploy::DeployInfo"]},{"text":"impl RefUnwindSafe for deploy_info","synthetic":true,"types":["pages::deploy::deploy_info"]},{"text":"impl !RefUnwindSafe for FSError","synthetic":true,"types":["pages::errors::FSError"]},{"text":"impl !RefUnwindSafe for ConfigError","synthetic":true,"types":["pages::errors::ConfigError"]},{"text":"impl !RefUnwindSafe for ServiceError","synthetic":true,"types":["pages::errors::ServiceError"]},{"text":"impl RefUnwindSafe for ErrorToResponse","synthetic":true,"types":["pages::errors::ErrorToResponse"]},{"text":"impl RefUnwindSafe for GitFileMode","synthetic":true,"types":["pages::git::GitFileMode"]},{"text":"impl RefUnwindSafe for FileInfo","synthetic":true,"types":["pages::git::FileInfo"]},{"text":"impl RefUnwindSafe for ContentType","synthetic":true,"types":["pages::git::ContentType"]},{"text":"impl RefUnwindSafe for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl<'a> RefUnwindSafe for BuildDetails<'a>","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl RefUnwindSafe for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl RefUnwindSafe for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl<'a> RefUnwindSafe for Preview<'a>","synthetic":true,"types":["pages::preview::Preview"]},{"text":"impl RefUnwindSafe for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl RefUnwindSafe for Serve","synthetic":true,"types":["pages::serve::routes::Serve"]},{"text":"impl RefUnwindSafe for index","synthetic":true,"types":["pages::serve::index"]},{"text":"impl RefUnwindSafe for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl RefUnwindSafe for DBType","synthetic":true,"types":["pages::settings::DBType"]},{"text":"impl RefUnwindSafe for Database","synthetic":true,"types":["pages::settings::Database"]},{"text":"impl RefUnwindSafe for Settings","synthetic":true,"types":["pages::settings::Settings"]},{"text":"impl RefUnwindSafe for Cli","synthetic":true,"types":["pages::Cli"]},{"text":"impl RefUnwindSafe for Commands","synthetic":true,"types":["pages::Commands"]}];
+implementors["pages"] = [{"text":"impl RefUnwindSafe for Ctx","synthetic":true,"types":["pages::ctx::Ctx"]},{"text":"impl RefUnwindSafe for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl RefUnwindSafe for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl RefUnwindSafe for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl RefUnwindSafe for DeploySecret","synthetic":true,"types":["pages::deploy::DeploySecret"]},{"text":"impl RefUnwindSafe for DeployInfo","synthetic":true,"types":["pages::deploy::DeployInfo"]},{"text":"impl RefUnwindSafe for deploy_info","synthetic":true,"types":["pages::deploy::deploy_info"]},{"text":"impl !RefUnwindSafe for FSError","synthetic":true,"types":["pages::errors::FSError"]},{"text":"impl !RefUnwindSafe for ConfigError","synthetic":true,"types":["pages::errors::ConfigError"]},{"text":"impl !RefUnwindSafe for ServiceError","synthetic":true,"types":["pages::errors::ServiceError"]},{"text":"impl RefUnwindSafe for ErrorToResponse","synthetic":true,"types":["pages::errors::ErrorToResponse"]},{"text":"impl RefUnwindSafe for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl<'a> RefUnwindSafe for BuildDetails<'a>","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl RefUnwindSafe for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl RefUnwindSafe for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl RefUnwindSafe for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl RefUnwindSafe for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl RefUnwindSafe for Settings","synthetic":true,"types":["pages::settings::Settings"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/panic/unwind_safe/trait.UnwindSafe.js b/implementors/core/panic/unwind_safe/trait.UnwindSafe.js
index f74fbb1..baf9f40 100644
--- a/implementors/core/panic/unwind_safe/trait.UnwindSafe.js
+++ b/implementors/core/panic/unwind_safe/trait.UnwindSafe.js
@@ -1,3 +1,3 @@
(function() {var implementors = {};
-implementors["pages"] = [{"text":"impl !UnwindSafe for Ctx","synthetic":true,"types":["pages::ctx::Ctx"]},{"text":"impl !UnwindSafe for ConnectionOptions","synthetic":true,"types":["pages::db::ConnectionOptions"]},{"text":"impl !UnwindSafe for Conn","synthetic":true,"types":["pages::db::Conn"]},{"text":"impl !UnwindSafe for Fresh","synthetic":true,"types":["pages::db::Fresh"]},{"text":"impl !UnwindSafe for Database","synthetic":true,"types":["pages::db::Database"]},{"text":"impl<'a> UnwindSafe for Register<'a>","synthetic":true,"types":["pages::db::Register"]},{"text":"impl<'a> UnwindSafe for UpdateEmail<'a>","synthetic":true,"types":["pages::db::UpdateEmail"]},{"text":"impl<'a> UnwindSafe for Login<'a>","synthetic":true,"types":["pages::db::Login"]},{"text":"impl UnwindSafe for NameHash","synthetic":true,"types":["pages::db::NameHash"]},{"text":"impl UnwindSafe for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl UnwindSafe for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl UnwindSafe for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl UnwindSafe for DeploySecret","synthetic":true,"types":["pages::deploy::DeploySecret"]},{"text":"impl UnwindSafe for DeployInfo","synthetic":true,"types":["pages::deploy::DeployInfo"]},{"text":"impl UnwindSafe for deploy_info","synthetic":true,"types":["pages::deploy::deploy_info"]},{"text":"impl !UnwindSafe for FSError","synthetic":true,"types":["pages::errors::FSError"]},{"text":"impl !UnwindSafe for ConfigError","synthetic":true,"types":["pages::errors::ConfigError"]},{"text":"impl !UnwindSafe for ServiceError","synthetic":true,"types":["pages::errors::ServiceError"]},{"text":"impl UnwindSafe for ErrorToResponse","synthetic":true,"types":["pages::errors::ErrorToResponse"]},{"text":"impl UnwindSafe for GitFileMode","synthetic":true,"types":["pages::git::GitFileMode"]},{"text":"impl UnwindSafe for FileInfo","synthetic":true,"types":["pages::git::FileInfo"]},{"text":"impl UnwindSafe for ContentType","synthetic":true,"types":["pages::git::ContentType"]},{"text":"impl UnwindSafe for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl<'a> UnwindSafe for BuildDetails<'a>","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl UnwindSafe for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl UnwindSafe for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl<'a> UnwindSafe for Preview<'a>","synthetic":true,"types":["pages::preview::Preview"]},{"text":"impl UnwindSafe for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl UnwindSafe for Serve","synthetic":true,"types":["pages::serve::routes::Serve"]},{"text":"impl UnwindSafe for index","synthetic":true,"types":["pages::serve::index"]},{"text":"impl UnwindSafe for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl UnwindSafe for DBType","synthetic":true,"types":["pages::settings::DBType"]},{"text":"impl UnwindSafe for Database","synthetic":true,"types":["pages::settings::Database"]},{"text":"impl UnwindSafe for Settings","synthetic":true,"types":["pages::settings::Settings"]},{"text":"impl UnwindSafe for Cli","synthetic":true,"types":["pages::Cli"]},{"text":"impl UnwindSafe for Commands","synthetic":true,"types":["pages::Commands"]}];
+implementors["pages"] = [{"text":"impl UnwindSafe for Ctx","synthetic":true,"types":["pages::ctx::Ctx"]},{"text":"impl UnwindSafe for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl UnwindSafe for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl UnwindSafe for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl UnwindSafe for DeploySecret","synthetic":true,"types":["pages::deploy::DeploySecret"]},{"text":"impl UnwindSafe for DeployInfo","synthetic":true,"types":["pages::deploy::DeployInfo"]},{"text":"impl UnwindSafe for deploy_info","synthetic":true,"types":["pages::deploy::deploy_info"]},{"text":"impl !UnwindSafe for FSError","synthetic":true,"types":["pages::errors::FSError"]},{"text":"impl !UnwindSafe for ConfigError","synthetic":true,"types":["pages::errors::ConfigError"]},{"text":"impl !UnwindSafe for ServiceError","synthetic":true,"types":["pages::errors::ServiceError"]},{"text":"impl UnwindSafe for ErrorToResponse","synthetic":true,"types":["pages::errors::ErrorToResponse"]},{"text":"impl UnwindSafe for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl<'a> UnwindSafe for BuildDetails<'a>","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl UnwindSafe for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl UnwindSafe for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl UnwindSafe for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl UnwindSafe for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl UnwindSafe for Settings","synthetic":true,"types":["pages::settings::Settings"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/num_enum/trait.FromPrimitive.js b/implementors/num_enum/trait.FromPrimitive.js
deleted file mode 100644
index 5c14282..0000000
--- a/implementors/num_enum/trait.FromPrimitive.js
+++ /dev/null
@@ -1,3 +0,0 @@
-(function() {var implementors = {};
-implementors["pages"] = [{"text":"impl FromPrimitive for GitFileMode","synthetic":false,"types":["pages::git::GitFileMode"]}];
-if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/num_enum/trait.TryFromPrimitive.js b/implementors/num_enum/trait.TryFromPrimitive.js
deleted file mode 100644
index 31013d8..0000000
--- a/implementors/num_enum/trait.TryFromPrimitive.js
+++ /dev/null
@@ -1,3 +0,0 @@
-(function() {var implementors = {};
-implementors["pages"] = [{"text":"impl TryFromPrimitive for GitFileMode","synthetic":false,"types":["pages::git::GitFileMode"]}];
-if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/serde/de/trait.Deserialize.js b/implementors/serde/de/trait.Deserialize.js
index 2133356..d843033 100644
--- a/implementors/serde/de/trait.Deserialize.js
+++ b/implementors/serde/de/trait.Deserialize.js
@@ -1,3 +1,3 @@
(function() {var implementors = {};
-implementors["pages"] = [{"text":"impl<'de: 'a, 'a> Deserialize<'de> for Register<'a>","synthetic":false,"types":["pages::db::Register"]},{"text":"impl<'de: 'a, 'a> Deserialize<'de> for UpdateEmail<'a>","synthetic":false,"types":["pages::db::UpdateEmail"]},{"text":"impl<'de: 'a, 'a> Deserialize<'de> for Login<'a>","synthetic":false,"types":["pages::db::Login"]},{"text":"impl<'de> Deserialize<'de> for NameHash","synthetic":false,"types":["pages::db::NameHash"]},{"text":"impl<'de> Deserialize<'de> for DeployEvent","synthetic":false,"types":["pages::deploy::DeployEvent"]},{"text":"impl<'de> Deserialize<'de> for DeploySecret","synthetic":false,"types":["pages::deploy::DeploySecret"]},{"text":"impl<'de> Deserialize<'de> for DeployInfo","synthetic":false,"types":["pages::deploy::DeployInfo"]},{"text":"impl<'de> Deserialize<'de> for ErrorToResponse","synthetic":false,"types":["pages::errors::ErrorToResponse"]},{"text":"impl<'de> Deserialize<'de> for ContentType","synthetic":false,"types":["pages::git::ContentType"]},{"text":"impl<'de: 'a, 'a> Deserialize<'de> for BuildDetails<'a>","synthetic":false,"types":["pages::meta::BuildDetails"]},{"text":"impl<'de> Deserialize<'de> for Page","synthetic":false,"types":["pages::page::Page"]},{"text":"impl<'de> Deserialize<'de> for Server","synthetic":false,"types":["pages::settings::Server"]},{"text":"impl<'de> Deserialize<'de> for DBType","synthetic":false,"types":["pages::settings::DBType"]},{"text":"impl<'de> Deserialize<'de> for Database","synthetic":false,"types":["pages::settings::Database"]},{"text":"impl<'de> Deserialize<'de> for Settings","synthetic":false,"types":["pages::settings::Settings"]}];
+implementors["pages"] = [{"text":"impl<'de> Deserialize<'de> for DeployEvent","synthetic":false,"types":["pages::deploy::DeployEvent"]},{"text":"impl<'de> Deserialize<'de> for DeploySecret","synthetic":false,"types":["pages::deploy::DeploySecret"]},{"text":"impl<'de> Deserialize<'de> for DeployInfo","synthetic":false,"types":["pages::deploy::DeployInfo"]},{"text":"impl<'de> Deserialize<'de> for ErrorToResponse","synthetic":false,"types":["pages::errors::ErrorToResponse"]},{"text":"impl<'de: 'a, 'a> Deserialize<'de> for BuildDetails<'a>","synthetic":false,"types":["pages::meta::BuildDetails"]},{"text":"impl<'de> Deserialize<'de> for Page","synthetic":false,"types":["pages::page::Page"]},{"text":"impl<'de> Deserialize<'de> for Server","synthetic":false,"types":["pages::settings::Server"]},{"text":"impl<'de> Deserialize<'de> for Settings","synthetic":false,"types":["pages::settings::Settings"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/serde/ser/trait.Serialize.js b/implementors/serde/ser/trait.Serialize.js
index 70b096c..d222e22 100644
--- a/implementors/serde/ser/trait.Serialize.js
+++ b/implementors/serde/ser/trait.Serialize.js
@@ -1,3 +1,3 @@
(function() {var implementors = {};
-implementors["pages"] = [{"text":"impl<'a> Serialize for Register<'a>","synthetic":false,"types":["pages::db::Register"]},{"text":"impl<'a> Serialize for UpdateEmail<'a>","synthetic":false,"types":["pages::db::UpdateEmail"]},{"text":"impl<'a> Serialize for Login<'a>","synthetic":false,"types":["pages::db::Login"]},{"text":"impl Serialize for NameHash","synthetic":false,"types":["pages::db::NameHash"]},{"text":"impl Serialize for DeployEvent","synthetic":false,"types":["pages::deploy::DeployEvent"]},{"text":"impl Serialize for DeploySecret","synthetic":false,"types":["pages::deploy::DeploySecret"]},{"text":"impl Serialize for DeployInfo","synthetic":false,"types":["pages::deploy::DeployInfo"]},{"text":"impl Serialize for ErrorToResponse","synthetic":false,"types":["pages::errors::ErrorToResponse"]},{"text":"impl Serialize for ContentType","synthetic":false,"types":["pages::git::ContentType"]},{"text":"impl<'a> Serialize for BuildDetails<'a>","synthetic":false,"types":["pages::meta::BuildDetails"]},{"text":"impl Serialize for DBType","synthetic":false,"types":["pages::settings::DBType"]}];
+implementors["pages"] = [{"text":"impl Serialize for DeployEvent","synthetic":false,"types":["pages::deploy::DeployEvent"]},{"text":"impl Serialize for DeploySecret","synthetic":false,"types":["pages::deploy::DeploySecret"]},{"text":"impl Serialize for DeployInfo","synthetic":false,"types":["pages::deploy::DeployInfo"]},{"text":"impl Serialize for ErrorToResponse","synthetic":false,"types":["pages::errors::ErrorToResponse"]},{"text":"impl<'a> Serialize for BuildDetails<'a>","synthetic":false,"types":["pages::meta::BuildDetails"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/pages/all.html b/pages/all.html
index 5ff37c9..2668d7c 100644
--- a/pages/all.html
+++ b/pages/all.html
@@ -4,5 +4,5 @@
List of all items
Structs
Enums
Functions
Typedefs
Constants
+ List of all items
Structs
Enums
Functions
Typedefs
Constants