diff --git a/api/nmo-activetasks.html b/api/nmo-activetasks.html
new file mode 100644
index 0000000..b008ad0
--- /dev/null
+++ b/api/nmo-activetasks.html
@@ -0,0 +1,73 @@
+<!doctype html>
+<html lang="en">
+<head>
+  <meta charset="utf-8">
+  <title>nmo Manual &amp; Documentation</title>
+  <link rel="stylesheet" href="../assets/css/style.css">
+</head>
+<body>
+<a href="https://github.com/robertkowalski/nmo"><img style="position: absolute; top: 0; left: 0; border: 0;" src="https://camo.githubusercontent.com/567c3a48d796e2fc06ea80409cc9dd82bf714434/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f6c6566745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_left_darkblue_121621.png"></a>
+  <div class="wrapper">
+    <header>
+      <h1>
+        <a href="../">nmo</a>
+      </h1>
+    </header>
+
+    <div class="content">
+      <h1>activetasks<span><a class="mark" href="#nmo_activetasks_md_nmo_activetasks_3_activetasks" id="nmo_activetasks_md_nmo_activetasks_3_activetasks">#</a></span></h1>
+<h2>Synopsis<span><a class="mark" href="#nmo_activetasks_md_synopsis" id="nmo_activetasks_md_synopsis">#</a></span></h2>
+<pre><code>nmo.commands.activetasks([&lt;url&gt; || &lt;cluster&gt;], [filter])</code></pre>
+<h2>Description<span><a class="mark" href="#nmo_activetasks_md_description" id="nmo_activetasks_md_description">#</a></span></h2>
+<p>Get the list of active tasks from a specified url or cluster name and filter it according to
+the supplied filter.
+
+</p>
+<p>The filter can be either the task type e.g replication, view_indexer or a
+database name found in either the source, target or database field.
+</p>
+
+    </div>
+
+    <footer>
+      <a href="https://github.com/robertkowalski/nmo">
+        Found a bug or typo? Want to contribute code?
+      </a>
+    </footer>
+  </div>
+  <nav class="toc-container">
+    <div class="toc section-toc">
+      <ul>
+<li><a href="#nmo_activetasks_md_nmo_activetasks_3_activetasks">activetasks</a><ul>
+<li><a href="#nmo_activetasks_md_synopsis">Synopsis</a></li>
+<li><a href="#nmo_activetasks_md_description">Description</a></li>
+</ul>
+</li>
+</ul>
+
+    </div>
+    <hr />
+    <div class="toc main-toc">
+<a href="../api/nmo-activetasks.html">activetasks</a>
+<a href="../api/nmo-cluster.html">cluster</a>
+<a href="../api/nmo-config.html">config</a>
+<a href="../api/nmo-couch-config.html">couch-config</a>
+<a href="../api/nmo-import-csv.html">import-csv</a>
+<a href="../api/nmo-isonline.html">isonline</a>
+<a href="../api/nmo-v.html">v</a>
+<a href="../cli/nmo-cluster.html">cluster</a>
+<a href="../cli/nmo-config.html">config</a>
+<a href="../cli/nmo-couch-config.html">couch-config</a>
+<a href="../cli/nmo-help.html">help</a>
+<a href="../cli/nmo-import-csv.html">import-csv</a>
+<a href="../cli/nmo-isonline.html">isonline</a>
+<a href="../cli/nmo-v.html">v</a>
+<a href="../misc/nmo-faq.html">faq</a>
+<a href="../index.html">index</a>
+    </div>
+  </nav>
+
+<script src="../assets/main.js"></script>
+</body>
+</html>
+
diff --git a/api/nmo-cluster.html b/api/nmo-cluster.html
new file mode 100644
index 0000000..c57f8dd
--- /dev/null
+++ b/api/nmo-cluster.html
@@ -0,0 +1,106 @@
+<!doctype html>
+<html lang="en">
+<head>
+  <meta charset="utf-8">
+  <title>nmo Manual &amp; Documentation</title>
+  <link rel="stylesheet" href="../assets/css/style.css">
+</head>
+<body>
+<a href="https://github.com/robertkowalski/nmo"><img style="position: absolute; top: 0; left: 0; border: 0;" src="https://camo.githubusercontent.com/567c3a48d796e2fc06ea80409cc9dd82bf714434/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f6c6566745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_left_darkblue_121621.png"></a>
+  <div class="wrapper">
+    <header>
+      <h1>
+        <a href="../">nmo</a>
+      </h1>
+    </header>
+
+    <div class="content">
+      <h1>manage clusters<span><a class="mark" href="#nmo_cluster_md_nmo_cluster_3_manage_clusters" id="nmo_cluster_md_nmo_cluster_3_manage_clusters">#</a></span></h1>
+<h2>Synopsis<span><a class="mark" href="#nmo_cluster_md_synopsis" id="nmo_cluster_md_synopsis">#</a></span></h2>
+<pre><code>nmo.commands.cluster.add(node, url, cluster)
+nmo.commands.cluster.get([clustername], [node])
+nmo.commands.cluster.join(clustername)</code></pre>
+<h2>Description<span><a class="mark" href="#nmo_cluster_md_description" id="nmo_cluster_md_description">#</a></span></h2>
+<p>Manage clusters.
+
+</p>
+<ul>
+<li>add:</li>
+</ul>
+<p>Add a node to a cluster in the nmo configuration file. Overwrites
+nodes with the same name in the same cluster.
+
+</p>
+<p>Example:
+
+</p>
+<pre><code>var node = &apos;mycustomnodename&apos;;
+var url = &apos;http://user:pw@192.168.1.42&apos;;
+var cluster = &apos;myfirstcluster&apos;;
+nmo.commands.cluster.add(node, url, cluster)</code></pre>
+<ul>
+<li>get:</li>
+</ul>
+<p>Get all clusters, one specific cluster or just one node or just one
+the values for one node.
+
+</p>
+<p>Example:
+
+</p>
+<pre><code>nmo.commands.cluster.get(&apos;myfirstcluster&apos;)</code></pre>
+<ul>
+<li>join:</li>
+</ul>
+<p>Join nodes into a fully operational cluster.
+
+</p>
+<p>Example:
+
+</p>
+<pre><code>nmo.commands.cluster.join(&apos;myfirstcluster&apos;)</code></pre>
+
+    </div>
+
+    <footer>
+      <a href="https://github.com/robertkowalski/nmo">
+        Found a bug or typo? Want to contribute code?
+      </a>
+    </footer>
+  </div>
+  <nav class="toc-container">
+    <div class="toc section-toc">
+      <ul>
+<li><a href="#nmo_cluster_md_nmo_cluster_3_manage_clusters">manage clusters</a><ul>
+<li><a href="#nmo_cluster_md_synopsis">Synopsis</a></li>
+<li><a href="#nmo_cluster_md_description">Description</a></li>
+</ul>
+</li>
+</ul>
+
+    </div>
+    <hr />
+    <div class="toc main-toc">
+<a href="../api/nmo-activetasks.html">activetasks</a>
+<a href="../api/nmo-cluster.html">cluster</a>
+<a href="../api/nmo-config.html">config</a>
+<a href="../api/nmo-couch-config.html">couch-config</a>
+<a href="../api/nmo-import-csv.html">import-csv</a>
+<a href="../api/nmo-isonline.html">isonline</a>
+<a href="../api/nmo-v.html">v</a>
+<a href="../cli/nmo-cluster.html">cluster</a>
+<a href="../cli/nmo-config.html">config</a>
+<a href="../cli/nmo-couch-config.html">couch-config</a>
+<a href="../cli/nmo-help.html">help</a>
+<a href="../cli/nmo-import-csv.html">import-csv</a>
+<a href="../cli/nmo-isonline.html">isonline</a>
+<a href="../cli/nmo-v.html">v</a>
+<a href="../misc/nmo-faq.html">faq</a>
+<a href="../index.html">index</a>
+    </div>
+  </nav>
+
+<script src="../assets/main.js"></script>
+</body>
+</html>
+
diff --git a/api/nmo-config.html b/api/nmo-config.html
new file mode 100644
index 0000000..cfa947d
--- /dev/null
+++ b/api/nmo-config.html
@@ -0,0 +1,84 @@
+<!doctype html>
+<html lang="en">
+<head>
+  <meta charset="utf-8">
+  <title>nmo Manual &amp; Documentation</title>
+  <link rel="stylesheet" href="../assets/css/style.css">
+</head>
+<body>
+<a href="https://github.com/robertkowalski/nmo"><img style="position: absolute; top: 0; left: 0; border: 0;" src="https://camo.githubusercontent.com/567c3a48d796e2fc06ea80409cc9dd82bf714434/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f6c6566745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_left_darkblue_121621.png"></a>
+  <div class="wrapper">
+    <header>
+      <h1>
+        <a href="../">nmo</a>
+      </h1>
+    </header>
+
+    <div class="content">
+      <h1>configuration<span><a class="mark" href="#nmo_config_md_nmo_config_3_configuration" id="nmo_config_md_nmo_config_3_configuration">#</a></span></h1>
+<h2>Synopsis<span><a class="mark" href="#nmo_config_md_synopsis" id="nmo_config_md_synopsis">#</a></span></h2>
+<pre><code>nmo.commands.config.set(section, key, value)
+nmo.commands.config.get([section], [key])</code></pre>
+<h2>Description<span><a class="mark" href="#nmo_config_md_description" id="nmo_config_md_description">#</a></span></h2>
+<p>Manage the nmo configuration.
+
+</p>
+<ul>
+<li>set:</li>
+</ul>
+<p>Sets key/value for sections in the configration file. The file is
+automatically saved. Returns a promise.
+
+</p>
+<ul>
+<li>get:</li>
+</ul>
+<p>Get the whole config (no argument provided), sections (section
+argument provided), or a  key/value pair inside a asection.
+Sync!
+</p>
+
+    </div>
+
+    <footer>
+      <a href="https://github.com/robertkowalski/nmo">
+        Found a bug or typo? Want to contribute code?
+      </a>
+    </footer>
+  </div>
+  <nav class="toc-container">
+    <div class="toc section-toc">
+      <ul>
+<li><a href="#nmo_config_md_nmo_config_3_configuration">configuration</a><ul>
+<li><a href="#nmo_config_md_synopsis">Synopsis</a></li>
+<li><a href="#nmo_config_md_description">Description</a></li>
+</ul>
+</li>
+</ul>
+
+    </div>
+    <hr />
+    <div class="toc main-toc">
+<a href="../api/nmo-activetasks.html">activetasks</a>
+<a href="../api/nmo-cluster.html">cluster</a>
+<a href="../api/nmo-config.html">config</a>
+<a href="../api/nmo-couch-config.html">couch-config</a>
+<a href="../api/nmo-import-csv.html">import-csv</a>
+<a href="../api/nmo-isonline.html">isonline</a>
+<a href="../api/nmo-v.html">v</a>
+<a href="../cli/nmo-cluster.html">cluster</a>
+<a href="../cli/nmo-config.html">config</a>
+<a href="../cli/nmo-couch-config.html">couch-config</a>
+<a href="../cli/nmo-help.html">help</a>
+<a href="../cli/nmo-import-csv.html">import-csv</a>
+<a href="../cli/nmo-isonline.html">isonline</a>
+<a href="../cli/nmo-v.html">v</a>
+<a href="../misc/nmo-faq.html">faq</a>
+<a href="../index.html">index</a>
+    </div>
+  </nav>
+
+<script src="../assets/main.js"></script>
+</body>
+</html>
+
diff --git a/api/nmo-couch-config.html b/api/nmo-couch-config.html
new file mode 100644
index 0000000..f2dfc38
--- /dev/null
+++ b/api/nmo-couch-config.html
@@ -0,0 +1,83 @@
+<!doctype html>
+<html lang="en">
+<head>
+  <meta charset="utf-8">
+  <title>nmo Manual &amp; Documentation</title>
+  <link rel="stylesheet" href="../assets/css/style.css">
+</head>
+<body>
+<a href="https://github.com/robertkowalski/nmo"><img style="position: absolute; top: 0; left: 0; border: 0;" src="https://camo.githubusercontent.com/567c3a48d796e2fc06ea80409cc9dd82bf714434/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f6c6566745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_left_darkblue_121621.png"></a>
+  <div class="wrapper">
+    <header>
+      <h1>
+        <a href="../">nmo</a>
+      </h1>
+    </header>
+
+    <div class="content">
+      <h1>configuration of a CouchDB cluster<span><a class="mark" href="#nmo_couch_config_md_nmo_couch_config_3_configuration_of_a_couchdb_cluster" id="nmo_couch_config_md_nmo_couch_config_3_configuration_of_a_couchdb_cluster">#</a></span></h1>
+<h2>Synopsis<span><a class="mark" href="#nmo_couch_config_md_synopsis" id="nmo_couch_config_md_synopsis">#</a></span></h2>
+<pre><code>nmo.commands[&apos;couch-config&apos;].set(cluster, nodes, section, key, value)
+nmo.commands[&apos;couch-config&apos;].get(cluster, nodes, [section])</code></pre>
+<h2>Description<span><a class="mark" href="#nmo_couch_config_md_description" id="nmo_couch_config_md_description">#</a></span></h2>
+<p>Manage the CouchDB configuration.
+
+</p>
+<ul>
+<li>set:</li>
+</ul>
+<p>Sets the value for a key of a CouchDB config section for each node in
+a cluster.
+
+</p>
+<ul>
+<li>get:</li>
+</ul>
+<p>Gets the config for each node in a cluster and displays it for easy
+viewing
+</p>
+
+    </div>
+
+    <footer>
+      <a href="https://github.com/robertkowalski/nmo">
+        Found a bug or typo? Want to contribute code?
+      </a>
+    </footer>
+  </div>
+  <nav class="toc-container">
+    <div class="toc section-toc">
+      <ul>
+<li><a href="#nmo_couch_config_md_nmo_couch_config_3_configuration_of_a_couchdb_cluster">configuration of a CouchDB cluster</a><ul>
+<li><a href="#nmo_couch_config_md_synopsis">Synopsis</a></li>
+<li><a href="#nmo_couch_config_md_description">Description</a></li>
+</ul>
+</li>
+</ul>
+
+    </div>
+    <hr />
+    <div class="toc main-toc">
+<a href="../api/nmo-activetasks.html">activetasks</a>
+<a href="../api/nmo-cluster.html">cluster</a>
+<a href="../api/nmo-config.html">config</a>
+<a href="../api/nmo-couch-config.html">couch-config</a>
+<a href="../api/nmo-import-csv.html">import-csv</a>
+<a href="../api/nmo-isonline.html">isonline</a>
+<a href="../api/nmo-v.html">v</a>
+<a href="../cli/nmo-cluster.html">cluster</a>
+<a href="../cli/nmo-config.html">config</a>
+<a href="../cli/nmo-couch-config.html">couch-config</a>
+<a href="../cli/nmo-help.html">help</a>
+<a href="../cli/nmo-import-csv.html">import-csv</a>
+<a href="../cli/nmo-isonline.html">isonline</a>
+<a href="../cli/nmo-v.html">v</a>
+<a href="../misc/nmo-faq.html">faq</a>
+<a href="../index.html">index</a>
+    </div>
+  </nav>
+
+<script src="../assets/main.js"></script>
+</body>
+</html>
+
diff --git a/api/nmo-import-csv.html b/api/nmo-import-csv.html
new file mode 100644
index 0000000..5da8b16
--- /dev/null
+++ b/api/nmo-import-csv.html
@@ -0,0 +1,75 @@
+<!doctype html>
+<html lang="en">
+<head>
+  <meta charset="utf-8">
+  <title>nmo Manual &amp; Documentation</title>
+  <link rel="stylesheet" href="../assets/css/style.css">
+</head>
+<body>
+<a href="https://github.com/robertkowalski/nmo"><img style="position: absolute; top: 0; left: 0; border: 0;" src="https://camo.githubusercontent.com/567c3a48d796e2fc06ea80409cc9dd82bf714434/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f6c6566745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_left_darkblue_121621.png"></a>
+  <div class="wrapper">
+    <header>
+      <h1>
+        <a href="../">nmo</a>
+      </h1>
+    </header>
+
+    <div class="content">
+      <h1>import csv<span><a class="mark" href="#nmo_import_csv_md_nmo_import_csv_3_import_csv" id="nmo_import_csv_md_nmo_import_csv_3_import_csv">#</a></span></h1>
+<h2>Synopsis<span><a class="mark" href="#nmo_import_csv_md_synopsis" id="nmo_import_csv_md_synopsis">#</a></span></h2>
+<pre><code>nmo.commands[&apos;import-csv&apos;](file, url, [csvOptions])</code></pre>
+<h2>Description<span><a class="mark" href="#nmo_import_csv_md_description" id="nmo_import_csv_md_description">#</a></span></h2>
+<p>Import csv file into CouchDB
+
+</p>
+<ul>
+<li>import-csv:</li>
+</ul>
+<p>Accepts the file, url and csv options to import a file into CouchDB.
+It returns a promise.
+</p>
+
+    </div>
+
+    <footer>
+      <a href="https://github.com/robertkowalski/nmo">
+        Found a bug or typo? Want to contribute code?
+      </a>
+    </footer>
+  </div>
+  <nav class="toc-container">
+    <div class="toc section-toc">
+      <ul>
+<li><a href="#nmo_import_csv_md_nmo_import_csv_3_import_csv">import csv</a><ul>
+<li><a href="#nmo_import_csv_md_synopsis">Synopsis</a></li>
+<li><a href="#nmo_import_csv_md_description">Description</a></li>
+</ul>
+</li>
+</ul>
+
+    </div>
+    <hr />
+    <div class="toc main-toc">
+<a href="../api/nmo-activetasks.html">activetasks</a>
+<a href="../api/nmo-cluster.html">cluster</a>
+<a href="../api/nmo-config.html">config</a>
+<a href="../api/nmo-couch-config.html">couch-config</a>
+<a href="../api/nmo-import-csv.html">import-csv</a>
+<a href="../api/nmo-isonline.html">isonline</a>
+<a href="../api/nmo-v.html">v</a>
+<a href="../cli/nmo-cluster.html">cluster</a>
+<a href="../cli/nmo-config.html">config</a>
+<a href="../cli/nmo-couch-config.html">couch-config</a>
+<a href="../cli/nmo-help.html">help</a>
+<a href="../cli/nmo-import-csv.html">import-csv</a>
+<a href="../cli/nmo-isonline.html">isonline</a>
+<a href="../cli/nmo-v.html">v</a>
+<a href="../misc/nmo-faq.html">faq</a>
+<a href="../index.html">index</a>
+    </div>
+  </nav>
+
+<script src="../assets/main.js"></script>
+</body>
+</html>
+
diff --git a/api/nmo-isonline.html b/api/nmo-isonline.html
new file mode 100644
index 0000000..03707e6
--- /dev/null
+++ b/api/nmo-isonline.html
@@ -0,0 +1,85 @@
+<!doctype html>
+<html lang="en">
+<head>
+  <meta charset="utf-8">
+  <title>nmo Manual &amp; Documentation</title>
+  <link rel="stylesheet" href="../assets/css/style.css">
+</head>
+<body>
+<a href="https://github.com/robertkowalski/nmo"><img style="position: absolute; top: 0; left: 0; border: 0;" src="https://camo.githubusercontent.com/567c3a48d796e2fc06ea80409cc9dd82bf714434/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f6c6566745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_left_darkblue_121621.png"></a>
+  <div class="wrapper">
+    <header>
+      <h1>
+        <a href="../">nmo</a>
+      </h1>
+    </header>
+
+    <div class="content">
+      <h1>check if a cluster node is online<span><a class="mark" href="#nmo_isonline_md_nmo_isonline_3_check_if_a_cluster_node_is_online" id="nmo_isonline_md_nmo_isonline_3_check_if_a_cluster_node_is_online">#</a></span></h1>
+<h2>Synopsis<span><a class="mark" href="#nmo_isonline_md_synopsis" id="nmo_isonline_md_synopsis">#</a></span></h2>
+<pre><code>nmo.commands.isonline(url, [url], ...)
+nmo.commands.isonline(cluster,...)</code></pre>
+<h2>Description<span><a class="mark" href="#nmo_isonline_md_description" id="nmo_isonline_md_description">#</a></span></h2>
+<p>Check if nodes are online / available on the current network.
+
+</p>
+<p>url:
+The command takes multiple url arguments for checking multiple nodes
+at once. The url must be a <code>String</code>. The last argument must be an
+<code>Object</code> providing options.
+
+</p>
+<p>cluster:
+The command looks up the nodes defined in the config file for a given cluster
+and will check whether is node is online
+
+</p>
+<p>The command returns a promise which will return an <code>Object</code> where the
+keys are the provided urls and the values have the type <code>Boolean</code>.
+<code>true</code> indicates an online, available node.
+</p>
+
+    </div>
+
+    <footer>
+      <a href="https://github.com/robertkowalski/nmo">
+        Found a bug or typo? Want to contribute code?
+      </a>
+    </footer>
+  </div>
+  <nav class="toc-container">
+    <div class="toc section-toc">
+      <ul>
+<li><a href="#nmo_isonline_md_nmo_isonline_3_check_if_a_cluster_node_is_online">check if a cluster node is online</a><ul>
+<li><a href="#nmo_isonline_md_synopsis">Synopsis</a></li>
+<li><a href="#nmo_isonline_md_description">Description</a></li>
+</ul>
+</li>
+</ul>
+
+    </div>
+    <hr />
+    <div class="toc main-toc">
+<a href="../api/nmo-activetasks.html">activetasks</a>
+<a href="../api/nmo-cluster.html">cluster</a>
+<a href="../api/nmo-config.html">config</a>
+<a href="../api/nmo-couch-config.html">couch-config</a>
+<a href="../api/nmo-import-csv.html">import-csv</a>
+<a href="../api/nmo-isonline.html">isonline</a>
+<a href="../api/nmo-v.html">v</a>
+<a href="../cli/nmo-cluster.html">cluster</a>
+<a href="../cli/nmo-config.html">config</a>
+<a href="../cli/nmo-couch-config.html">couch-config</a>
+<a href="../cli/nmo-help.html">help</a>
+<a href="../cli/nmo-import-csv.html">import-csv</a>
+<a href="../cli/nmo-isonline.html">isonline</a>
+<a href="../cli/nmo-v.html">v</a>
+<a href="../misc/nmo-faq.html">faq</a>
+<a href="../index.html">index</a>
+    </div>
+  </nav>
+
+<script src="../assets/main.js"></script>
+</body>
+</html>
+
diff --git a/api/nmo-v.html b/api/nmo-v.html
new file mode 100644
index 0000000..599414f
--- /dev/null
+++ b/api/nmo-v.html
@@ -0,0 +1,68 @@
+<!doctype html>
+<html lang="en">
+<head>
+  <meta charset="utf-8">
+  <title>nmo Manual &amp; Documentation</title>
+  <link rel="stylesheet" href="../assets/css/style.css">
+</head>
+<body>
+<a href="https://github.com/robertkowalski/nmo"><img style="position: absolute; top: 0; left: 0; border: 0;" src="https://camo.githubusercontent.com/567c3a48d796e2fc06ea80409cc9dd82bf714434/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f6c6566745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_left_darkblue_121621.png"></a>
+  <div class="wrapper">
+    <header>
+      <h1>
+        <a href="../">nmo</a>
+      </h1>
+    </header>
+
+    <div class="content">
+      <h1>get the current nmo version<span><a class="mark" href="#nmo_v_md_nmo_v_3_get_the_current_nmo_version" id="nmo_v_md_nmo_v_3_get_the_current_nmo_version">#</a></span></h1>
+<h2>Synopsis<span><a class="mark" href="#nmo_v_md_synopsis" id="nmo_v_md_synopsis">#</a></span></h2>
+<pre><code>nmo.commands.v()</code></pre>
+<h2>Description<span><a class="mark" href="#nmo_v_md_description" id="nmo_v_md_description">#</a></span></h2>
+<p>Returns the current version of nmo.
+</p>
+
+    </div>
+
+    <footer>
+      <a href="https://github.com/robertkowalski/nmo">
+        Found a bug or typo? Want to contribute code?
+      </a>
+    </footer>
+  </div>
+  <nav class="toc-container">
+    <div class="toc section-toc">
+      <ul>
+<li><a href="#nmo_v_md_nmo_v_3_get_the_current_nmo_version">get the current nmo version</a><ul>
+<li><a href="#nmo_v_md_synopsis">Synopsis</a></li>
+<li><a href="#nmo_v_md_description">Description</a></li>
+</ul>
+</li>
+</ul>
+
+    </div>
+    <hr />
+    <div class="toc main-toc">
+<a href="../api/nmo-activetasks.html">activetasks</a>
+<a href="../api/nmo-cluster.html">cluster</a>
+<a href="../api/nmo-config.html">config</a>
+<a href="../api/nmo-couch-config.html">couch-config</a>
+<a href="../api/nmo-import-csv.html">import-csv</a>
+<a href="../api/nmo-isonline.html">isonline</a>
+<a href="../api/nmo-v.html">v</a>
+<a href="../cli/nmo-cluster.html">cluster</a>
+<a href="../cli/nmo-config.html">config</a>
+<a href="../cli/nmo-couch-config.html">couch-config</a>
+<a href="../cli/nmo-help.html">help</a>
+<a href="../cli/nmo-import-csv.html">import-csv</a>
+<a href="../cli/nmo-isonline.html">isonline</a>
+<a href="../cli/nmo-v.html">v</a>
+<a href="../misc/nmo-faq.html">faq</a>
+<a href="../index.html">index</a>
+    </div>
+  </nav>
+
+<script src="../assets/main.js"></script>
+</body>
+</html>
+
diff --git a/assets/css/style.css b/assets/css/style.css
new file mode 100644
index 0000000..cfa6f4c
--- /dev/null
+++ b/assets/css/style.css
@@ -0,0 +1,846 @@
+/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
+
+/**
+ * 1. Set default font family to sans-serif.
+ * 2. Prevent iOS text size adjust after orientation change, without disabling
+ *    user zoom.
+ */
+
+html {
+  font-family: sans-serif; /* 1 */
+  -ms-text-size-adjust: 100%; /* 2 */
+  -webkit-text-size-adjust: 100%; /* 2 */
+}
+
+/**
+ * Remove default margin.
+ */
+
+body {
+  margin: 0;
+}
+
+/* HTML5 display definitions
+   ========================================================================== */
+
+/**
+ * Correct `block` display not defined for any HTML5 element in IE 8/9.
+ * Correct `block` display not defined for `details` or `summary` in IE 10/11
+ * and Firefox.
+ * Correct `block` display not defined for `main` in IE 11.
+ */
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+menu,
+nav,
+section,
+summary {
+  display: block;
+}
+
+/**
+ * 1. Correct `inline-block` display not defined in IE 8/9.
+ * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
+ */
+
+audio,
+canvas,
+progress,
+video {
+  display: inline-block; /* 1 */
+  vertical-align: baseline; /* 2 */
+}
+
+/**
+ * Prevent modern browsers from displaying `audio` without controls.
+ * Remove excess height in iOS 5 devices.
+ */
+
+audio:not([controls]) {
+  display: none;
+  height: 0;
+}
+
+/**
+ * Address `[hidden]` styling not present in IE 8/9/10.
+ * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
+ */
+
+[hidden],
+template {
+  display: none;
+}
+
+/* Links
+   ========================================================================== */
+
+/**
+ * Remove the gray background color from active links in IE 10.
+ */
+
+a {
+  background-color: transparent;
+}
+
+/**
+ * Improve readability when focused and also mouse hovered in all browsers.
+ */
+
+a:active,
+a:hover {
+  outline: 0;
+}
+
+/* Text-level semantics
+   ========================================================================== */
+
+/**
+ * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
+ */
+
+abbr[title] {
+  border-bottom: 1px dotted;
+}
+
+/**
+ * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
+ */
+
+b,
+strong {
+  font-weight: bold;
+}
+
+/**
+ * Address styling not present in Safari and Chrome.
+ */
+
+dfn {
+  font-style: italic;
+}
+
+/**
+ * Address variable `h1` font-size and margin within `section` and `article`
+ * contexts in Firefox 4+, Safari, and Chrome.
+ */
+
+h1 {
+  font-size: 2em;
+  margin: 0.67em 0;
+}
+
+/**
+ * Address styling not present in IE 8/9.
+ */
+
+mark {
+  background: #ff0;
+  color: #000;
+}
+
+/**
+ * Address inconsistent and variable font size in all browsers.
+ */
+
+small {
+  font-size: 80%;
+}
+
+/**
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
+ */
+
+sub,
+sup {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+}
+
+sup {
+  top: -0.5em;
+}
+
+sub {
+  bottom: -0.25em;
+}
+
+/* Embedded content
+   ========================================================================== */
+
+/**
+ * Remove border when inside `a` element in IE 8/9/10.
+ */
+
+img {
+  border: 0;
+}
+
+/**
+ * Correct overflow not hidden in IE 9/10/11.
+ */
+
+svg:not(:root) {
+  overflow: hidden;
+}
+
+/* Grouping content
+   ========================================================================== */
+
+/**
+ * Address margin not present in IE 8/9 and Safari.
+ */
+
+figure {
+  margin: 1em 40px;
+}
+
+/**
+ * Address differences between Firefox and other browsers.
+ */
+
+hr {
+  -moz-box-sizing: content-box;
+  box-sizing: content-box;
+  height: 0;
+}
+
+/**
+ * Contain overflow in all browsers.
+ */
+
+pre {
+  overflow: auto;
+}
+
+/**
+ * Address odd `em`-unit font size rendering in all browsers.
+ */
+
+code,
+kbd,
+pre,
+samp {
+  font-family: monospace, monospace;
+  font-size: 1em;
+}
+
+/* Forms
+   ========================================================================== */
+
+/**
+ * Known limitation: by default, Chrome and Safari on OS X allow very limited
+ * styling of `select`, unless a `border` property is set.
+ */
+
+/**
+ * 1. Correct color not being inherited.
+ *    Known issue: affects color of disabled elements.
+ * 2. Correct font properties not being inherited.
+ * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
+ */
+
+button,
+input,
+optgroup,
+select,
+textarea {
+  color: inherit; /* 1 */
+  font: inherit; /* 2 */
+  margin: 0; /* 3 */
+}
+
+/**
+ * Address `overflow` set to `hidden` in IE 8/9/10/11.
+ */
+
+button {
+  overflow: visible;
+}
+
+/**
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * All other form control elements do not inherit `text-transform` values.
+ * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
+ * Correct `select` style inheritance in Firefox.
+ */
+
+button,
+select {
+  text-transform: none;
+}
+
+/**
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ *    and `video` controls.
+ * 2. Correct inability to style clickable `input` types in iOS.
+ * 3. Improve usability and consistency of cursor style between image-type
+ *    `input` and others.
+ */
+
+button,
+html input[type="button"], /* 1 */
+input[type="reset"],
+input[type="submit"] {
+  -webkit-appearance: button; /* 2 */
+  cursor: pointer; /* 3 */
+}
+
+/**
+ * Re-set default cursor for disabled elements.
+ */
+
+button[disabled],
+html input[disabled] {
+  cursor: default;
+}
+
+/**
+ * Remove inner padding and border in Firefox 4+.
+ */
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+  border: 0;
+  padding: 0;
+}
+
+/**
+ * Address Firefox 4+ setting `line-height` on `input` using `!important` in
+ * the UA stylesheet.
+ */
+
+input {
+  line-height: normal;
+}
+
+/**
+ * It's recommended that you don't attempt to style these elements.
+ * Firefox's implementation doesn't respect box-sizing, padding, or width.
+ *
+ * 1. Address box sizing set to `content-box` in IE 8/9/10.
+ * 2. Remove excess padding in IE 8/9/10.
+ */
+
+input[type="checkbox"],
+input[type="radio"] {
+  box-sizing: border-box; /* 1 */
+  padding: 0; /* 2 */
+}
+
+/**
+ * Fix the cursor style for Chrome's increment/decrement buttons. For certain
+ * `font-size` values of the `input`, it causes the cursor style of the
+ * decrement button to change from `default` to `text`.
+ */
+
+input[type="number"]::-webkit-inner-spin-button,
+input[type="number"]::-webkit-outer-spin-button {
+  height: auto;
+}
+
+/**
+ * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
+ * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
+ *    (include `-moz` to future-proof).
+ */
+
+input[type="search"] {
+  -webkit-appearance: textfield; /* 1 */
+  -moz-box-sizing: content-box;
+  -webkit-box-sizing: content-box; /* 2 */
+  box-sizing: content-box;
+}
+
+/**
+ * Remove inner padding and search cancel button in Safari and Chrome on OS X.
+ * Safari (but not Chrome) clips the cancel button when the search input has
+ * padding (and `textfield` appearance).
+ */
+
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+
+/**
+ * Define consistent border, margin, and padding.
+ */
+
+fieldset {
+  border: 1px solid #c0c0c0;
+  margin: 0 2px;
+  padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * 1. Correct `color` not being inherited in IE 8/9/10/11.
+ * 2. Remove padding so people aren't caught out if they zero out fieldsets.
+ */
+
+legend {
+  border: 0; /* 1 */
+  padding: 0; /* 2 */
+}
+
+/**
+ * Remove default vertical scrollbar in IE 8/9/10/11.
+ */
+
+textarea {
+  overflow: auto;
+}
+
+/**
+ * Don't inherit the `font-weight` (applied by a rule above).
+ * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
+ */
+
+optgroup {
+  font-weight: bold;
+}
+
+/* Tables
+   ========================================================================== */
+
+/**
+ * Remove most spacing between table cells.
+ */
+
+table {
+  border-collapse: collapse;
+  border-spacing: 0;
+}
+
+td,
+th {
+  padding: 0;
+}
+/*
+* Skeleton V2.0.4
+* Copyright 2014, Dave Gamache
+* www.getskeleton.com
+* Free to use under the MIT license.
+* http://www.opensource.org/licenses/mit-license.php
+* 12/29/2014
+*/
+
+
+/* Table of contents
+––––––––––––––––––––––––––––––––––––––––––––––––––
+- Grid
+- Base Styles
+- Typography
+- Links
+- Buttons
+- Forms
+- Lists
+- Code
+- Tables
+- Spacing
+- Utilities
+- Clearing
+- Media Queries
+*/
+
+
+/* Grid
+–––––––––––––––––––––––––––––––––––––––––––––––––– */
+.container {
+  position: relative;
+  width: 100%;
+  max-width: 960px;
+  margin: 0 auto;
+  padding: 0 20px;
+  box-sizing: border-box; }
+.column,
+.columns {
+  width: 100%;
+  float: left;
+  box-sizing: border-box; }
+
+/* For devices larger than 400px */
+@media (min-width: 400px) {
+  .container {
+    width: 85%;
+    padding: 0; }
+}
+
+/* For devices larger than 550px */
+@media (min-width: 550px) {
+  .container {
+    width: 80%; }
+  .column,
+  .columns {
+    margin-left: 4%; }
+  .column:first-child,
+  .columns:first-child {
+    margin-left: 0; }
+
+  .one.column,
+  .one.columns                    { width: 4.66666666667%; }
+  .two.columns                    { width: 13.3333333333%; }
+  .three.columns                  { width: 22%;            }
+  .four.columns                   { width: 30.6666666667%; }
+  .five.columns                   { width: 39.3333333333%; }
+  .six.columns                    { width: 48%;            }
+  .seven.columns                  { width: 56.6666666667%; }
+  .eight.columns                  { width: 65.3333333333%; }
+  .nine.columns                   { width: 74.0%;          }
+  .ten.columns                    { width: 82.6666666667%; }
+  .eleven.columns                 { width: 91.3333333333%; }
+  .twelve.columns                 { width: 100%; margin-left: 0; }
+
+  .one-third.column               { width: 30.6666666667%; }
+  .two-thirds.column              { width: 65.3333333333%; }
+
+  .one-half.column                { width: 48%; }
+
+  /* Offsets */
+  .offset-by-one.column,
+  .offset-by-one.columns          { margin-left: 8.66666666667%; }
+  .offset-by-two.column,
+  .offset-by-two.columns          { margin-left: 17.3333333333%; }
+  .offset-by-three.column,
+  .offset-by-three.columns        { margin-left: 26%;            }
+  .offset-by-four.column,
+  .offset-by-four.columns         { margin-left: 34.6666666667%; }
+  .offset-by-five.column,
+  .offset-by-five.columns         { margin-left: 43.3333333333%; }
+  .offset-by-six.column,
+  .offset-by-six.columns          { margin-left: 52%;            }
+  .offset-by-seven.column,
+  .offset-by-seven.columns        { margin-left: 60.6666666667%; }
+  .offset-by-eight.column,
+  .offset-by-eight.columns        { margin-left: 69.3333333333%; }
+  .offset-by-nine.column,
+  .offset-by-nine.columns         { margin-left: 78.0%;          }
+  .offset-by-ten.column,
+  .offset-by-ten.columns          { margin-left: 86.6666666667%; }
+  .offset-by-eleven.column,
+  .offset-by-eleven.columns       { margin-left: 95.3333333333%; }
+
+  .offset-by-one-third.column,
+  .offset-by-one-third.columns    { margin-left: 34.6666666667%; }
+  .offset-by-two-thirds.column,
+  .offset-by-two-thirds.columns   { margin-left: 69.3333333333%; }
+
+  .offset-by-one-half.column,
+  .offset-by-one-half.columns     { margin-left: 52%; }
+
+}
+
+
+/* Base Styles
+–––––––––––––––––––––––––––––––––––––––––––––––––– */
+/* NOTE
+html is set to 62.5% so that all the REM measurements throughout Skeleton
+are based on 10px sizing. So basically 1.5rem = 15px :) */
+html {
+  font-size: 62.5%; }
+body {
+  font-size: 1.5em; /* currently ems cause chrome bug misinterpreting rems on body element */
+  line-height: 1.6;
+  font-weight: 400;
+  font-family: "Raleway", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
+  color: #222; }
+
+
+/* Typography
+–––––––––––––––––––––––––––––––––––––––––––––––––– */
+h1, h2, h3, h4, h5, h6 {
+  margin-top: 0;
+  margin-bottom: 2rem;
+  font-weight: 300; }
+h1 { font-size: 4.0rem; line-height: 1.2;  letter-spacing: -.1rem;}
+h2 { font-size: 3.6rem; line-height: 1.25; letter-spacing: -.1rem; }
+h3 { font-size: 3.0rem; line-height: 1.3;  letter-spacing: -.1rem; }
+h4 { font-size: 2.4rem; line-height: 1.35; letter-spacing: -.08rem; }
+h5 { font-size: 1.8rem; line-height: 1.5;  letter-spacing: -.05rem; }
+h6 { font-size: 1.5rem; line-height: 1.6;  letter-spacing: 0; }
+
+/* Larger than phablet */
+@media (min-width: 550px) {
+  h1 { font-size: 5.0rem; }
+  h2 { font-size: 4.2rem; }
+  h3 { font-size: 3.6rem; }
+  h4 { font-size: 3.0rem; }
+  h5 { font-size: 2.4rem; }
+  h6 { font-size: 1.5rem; }
+}
+
+p {
+  margin-top: 0; }
+
+
+/* Links
+–––––––––––––––––––––––––––––––––––––––––––––––––– */
+a {
+  color: #1EAEDB; }
+a:hover {
+  color: #0FA0CE; }
+
+
+/* Buttons
+–––––––––––––––––––––––––––––––––––––––––––––––––– */
+.button,
+button,
+input[type="submit"],
+input[type="reset"],
+input[type="button"] {
+  display: inline-block;
+  height: 38px;
+  padding: 0 30px;
+  color: #555;
+  text-align: center;
+  font-size: 11px;
+  font-weight: 600;
+  line-height: 38px;
+  letter-spacing: .1rem;
+  text-transform: uppercase;
+  text-decoration: none;
+  white-space: nowrap;
+  background-color: transparent;
+  border-radius: 4px;
+  border: 1px solid #bbb;
+  cursor: pointer;
+  box-sizing: border-box; }
+.button:hover,
+button:hover,
+input[type="submit"]:hover,
+input[type="reset"]:hover,
+input[type="button"]:hover,
+.button:focus,
+button:focus,
+input[type="submit"]:focus,
+input[type="reset"]:focus,
+input[type="button"]:focus {
+  color: #333;
+  border-color: #888;
+  outline: 0; }
+.button.button-primary,
+button.button-primary,
+input[type="submit"].button-primary,
+input[type="reset"].button-primary,
+input[type="button"].button-primary {
+  color: #FFF;
+  background-color: #33C3F0;
+  border-color: #33C3F0; }
+.button.button-primary:hover,
+button.button-primary:hover,
+input[type="submit"].button-primary:hover,
+input[type="reset"].button-primary:hover,
+input[type="button"].button-primary:hover,
+.button.button-primary:focus,
+button.button-primary:focus,
+input[type="submit"].button-primary:focus,
+input[type="reset"].button-primary:focus,
+input[type="button"].button-primary:focus {
+  color: #FFF;
+  background-color: #1EAEDB;
+  border-color: #1EAEDB; }
+
+
+/* Forms
+–––––––––––––––––––––––––––––––––––––––––––––––––– */
+input[type="email"],
+input[type="number"],
+input[type="search"],
+input[type="text"],
+input[type="tel"],
+input[type="url"],
+input[type="password"],
+textarea,
+select {
+  height: 38px;
+  padding: 6px 10px; /* The 6px vertically centers text on FF, ignored by Webkit */
+  background-color: #fff;
+  border: 1px solid #D1D1D1;
+  border-radius: 4px;
+  box-shadow: none;
+  box-sizing: border-box; }
+/* Removes awkward default styles on some inputs for iOS */
+input[type="email"],
+input[type="number"],
+input[type="search"],
+input[type="text"],
+input[type="tel"],
+input[type="url"],
+input[type="password"],
+textarea {
+  -webkit-appearance: none;
+     -moz-appearance: none;
+          appearance: none; }
+textarea {
+  min-height: 65px;
+  padding-top: 6px;
+  padding-bottom: 6px; }
+input[type="email"]:focus,
+input[type="number"]:focus,
+input[type="search"]:focus,
+input[type="text"]:focus,
+input[type="tel"]:focus,
+input[type="url"]:focus,
+input[type="password"]:focus,
+textarea:focus,
+select:focus {
+  border: 1px solid #33C3F0;
+  outline: 0; }
+label,
+legend {
+  display: block;
+  margin-bottom: .5rem;
+  font-weight: 600; }
+fieldset {
+  padding: 0;
+  border-width: 0; }
+input[type="checkbox"],
+input[type="radio"] {
+  display: inline; }
+label > .label-body {
+  display: inline-block;
+  margin-left: .5rem;
+  font-weight: normal; }
+
+
+/* Lists
+–––––––––––––––––––––––––––––––––––––––––––––––––– */
+ul {
+  list-style: circle inside; }
+ol {
+  list-style: decimal inside; }
+ol, ul {
+  padding-left: 0;
+  margin-top: 0; }
+ul ul,
+ul ol,
+ol ol,
+ol ul {
+  margin: 1.5rem 0 1.5rem 3rem;
+  font-size: 90%; }
+li {
+  margin-bottom: 1rem; }
+
+
+/* Code
+–––––––––––––––––––––––––––––––––––––––––––––––––– */
+code {
+  padding: .2rem .5rem;
+  margin: 0 .2rem;
+  font-size: 90%;
+  white-space: nowrap;
+  background: #F1F1F1;
+  border: 1px solid #E1E1E1;
+  border-radius: 4px; }
+pre > code {
+  display: block;
+  padding: 1rem 1.5rem;
+  white-space: pre; }
+
+
+/* Tables
+–––––––––––––––––––––––––––––––––––––––––––––––––– */
+th,
+td {
+  padding: 12px 15px;
+  text-align: left;
+  border-bottom: 1px solid #E1E1E1; }
+th:first-child,
+td:first-child {
+  padding-left: 0; }
+th:last-child,
+td:last-child {
+  padding-right: 0; }
+
+
+/* Spacing
+–––––––––––––––––––––––––––––––––––––––––––––––––– */
+button,
+.button {
+  margin-bottom: 1rem; }
+input,
+textarea,
+select,
+fieldset {
+  margin-bottom: 1.5rem; }
+pre,
+blockquote,
+dl,
+figure,
+table,
+p,
+ul,
+ol,
+form {
+  margin-bottom: 2.5rem; }
+
+
+/* Utilities
+–––––––––––––––––––––––––––––––––––––––––––––––––– */
+.u-full-width {
+  width: 100%;
+  box-sizing: border-box; }
+.u-max-full-width {
+  max-width: 100%;
+  box-sizing: border-box; }
+.u-pull-right {
+  float: right; }
+.u-pull-left {
+  float: left; }
+
+
+/* Misc
+–––––––––––––––––––––––––––––––––––––––––––––––––– */
+hr {
+  margin-top: 3rem;
+  margin-bottom: 3.5rem;
+  border-width: 0;
+  border-top: 1px solid #E1E1E1; }
+
+
+/* Clearing
+–––––––––––––––––––––––––––––––––––––––––––––––––– */
+
+/* Self Clearing Goodness */
+.container:after,
+.row:after,
+.u-cf {
+  content: "";
+  display: table;
+  clear: both; }
+
+
+/* Media Queries
+–––––––––––––––––––––––––––––––––––––––––––––––––– */
+/*
+Note: The best way to structure the use of media queries is to create the queries
+near the relevant code. For example, if you wanted to change the styles for buttons
+on small devices, paste the mobile query code up in the buttons section and style it
+there.
+*/
+
+
+/* Larger than mobile */
+@media (min-width: 400px) {}
+
+/* Larger than phablet (also point when grid becomes active) */
+@media (min-width: 550px) {}
+
+/* Larger than tablet */
+@media (min-width: 750px) {}
+
+/* Larger than desktop */
+@media (min-width: 1000px) {}
+
+/* Larger than Desktop HD */
+@media (min-width: 1200px) {}
+.toc-container{position:absolute;right:10%;top:10%;width:13%}.wrapper{margin:0 auto 100px auto;width:43%;overflow:hidden}header{margin-top:3%;height:5%}footer{margin:15% auto 0 auto;text-align:center}.mark{margin-left:2%}header a{text-decoration:none}iframe{margin-bottom:5%}
\ No newline at end of file
diff --git a/assets/main.js b/assets/main.js
new file mode 100644
index 0000000..4a82292
--- /dev/null
+++ b/assets/main.js
@@ -0,0 +1,50 @@
+(function (document) {
+  var tocContainer = document.querySelectorAll('.main-toc')[0];
+
+  var data = [].reduce.call(tocContainer.children, function (acc, el) {
+
+    var matches = el.href.match(/.*\/(.*)\/(.*).html/),
+        sectionName = matches[1];
+
+    if (!sectionName) {
+      sectionName = 'misc';
+    }
+
+    if (!acc[sectionName]) {
+      acc[sectionName] = [];
+    }
+
+    acc[sectionName].push(el);
+
+    return acc;
+
+  }, {});
+
+  var root = document.createElement('ul');
+  // important for order of toc
+  ['cli', 'api', 'misc'].reduce(function (acc, section) {
+
+    var root, heading, subsection;
+    root = document.createElement('li');
+    heading = document.createElement('span');
+    heading.textContent = section;
+    root.appendChild(heading);
+
+    subsection = document.createElement('ul');
+    data[section].forEach(function (hyperlink) {
+      var subsectionChild, hyperlink;
+      subsectionChild = document.createElement('li');
+      subsectionChild.appendChild(hyperlink);
+      subsection.appendChild(subsectionChild);
+    });
+    root.appendChild(subsection);
+
+    acc.push(root);
+    return acc;
+  }, []).forEach(function (el) {
+    root.appendChild(el);
+  });
+
+  tocContainer.innerHTML = '';
+  tocContainer.appendChild(root);
+})(document);
diff --git a/cli/nmo-cluster.html b/cli/nmo-cluster.html
new file mode 100644
index 0000000..5288ebf
--- /dev/null
+++ b/cli/nmo-cluster.html
@@ -0,0 +1,114 @@
+<!doctype html>
+<html lang="en">
+<head>
+  <meta charset="utf-8">
+  <title>nmo Manual &amp; Documentation</title>
+  <link rel="stylesheet" href="../assets/css/style.css">
+</head>
+<body>
+<a href="https://github.com/robertkowalski/nmo"><img style="position: absolute; top: 0; left: 0; border: 0;" src="https://camo.githubusercontent.com/567c3a48d796e2fc06ea80409cc9dd82bf714434/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f6c6566745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_left_darkblue_121621.png"></a>
+  <div class="wrapper">
+    <header>
+      <h1>
+        <a href="../">nmo</a>
+      </h1>
+    </header>
+
+    <div class="content">
+      <h1>manage clusters<span><a class="mark" href="#nmo_cluster_md_nmo_cluster_1_manage_clusters" id="nmo_cluster_md_nmo_cluster_1_manage_clusters">#</a></span></h1>
+<h2>Synopsis<span><a class="mark" href="#nmo_cluster_md_synopsis" id="nmo_cluster_md_synopsis">#</a></span></h2>
+<pre><code>nmo cluster get [&lt;clustername&gt;], [&lt;nodename&gt;] [--json]
+nmo cluster add &lt;node&gt;, &lt;url&gt;, &lt;clustername&gt;
+nmo cluster join &lt;clustername&gt;</code></pre>
+<h2>Description<span><a class="mark" href="#nmo_cluster_md_description" id="nmo_cluster_md_description">#</a></span></h2>
+<div class="signature"><ul>
+<li>add:</li>
+</div></ul>
+<p>Add a node to a cluster in the nmo configuration file. Overwrites
+nodes with the same name in the same cluster.
+
+</p>
+<p>Example:
+
+</p>
+<pre><code>nmo cluster add newnode http://user:pw@192.168.1.172 anemone</code></pre>
+<p>This will add a node called <code>newnode</code> available at
+<a href="http://user:pw@192.168.1.172">http://user:pw@192.168.1.172</a> to the cluster <code>anemone</code>.
+
+
+</p>
+<ul>
+<li>get:</li>
+</ul>
+<p>Print sections or values inside sections from the configuration file.
+JSON output is also supported by passing the <code>--json</code> flag.
+
+
+</p>
+<p>Example:
+
+</p>
+<pre><code>nmo cluster get anemone --json</code></pre>
+<p>Will print all nodes in the cluster named anemone as JSON output.
+
+
+</p>
+<ul>
+<li>join:</li>
+</ul>
+<p>Joins nodes in a defined cluster-section to create a cluster
+
+
+</p>
+<p>Example:
+
+</p>
+<pre><code>nmo cluster join anemone</code></pre>
+<p>Will try to join all nodes defined in the anemone section to create a
+new cluster.
+</p>
+
+    </div>
+
+    <footer>
+      <a href="https://github.com/robertkowalski/nmo">
+        Found a bug or typo? Want to contribute code?
+      </a>
+    </footer>
+  </div>
+  <nav class="toc-container">
+    <div class="toc section-toc">
+      <ul>
+<li><a href="#nmo_cluster_md_nmo_cluster_1_manage_clusters">manage clusters</a><ul>
+<li><a href="#nmo_cluster_md_synopsis">Synopsis</a></li>
+<li><a href="#nmo_cluster_md_description">Description</a></li>
+</ul>
+</li>
+</ul>
+
+    </div>
+    <hr />
+    <div class="toc main-toc">
+<a href="../api/nmo-activetasks.html">activetasks</a>
+<a href="../api/nmo-cluster.html">cluster</a>
+<a href="../api/nmo-config.html">config</a>
+<a href="../api/nmo-couch-config.html">couch-config</a>
+<a href="../api/nmo-import-csv.html">import-csv</a>
+<a href="../api/nmo-isonline.html">isonline</a>
+<a href="../api/nmo-v.html">v</a>
+<a href="../cli/nmo-cluster.html">cluster</a>
+<a href="../cli/nmo-config.html">config</a>
+<a href="../cli/nmo-couch-config.html">couch-config</a>
+<a href="../cli/nmo-help.html">help</a>
+<a href="../cli/nmo-import-csv.html">import-csv</a>
+<a href="../cli/nmo-isonline.html">isonline</a>
+<a href="../cli/nmo-v.html">v</a>
+<a href="../misc/nmo-faq.html">faq</a>
+<a href="../index.html">index</a>
+    </div>
+  </nav>
+
+<script src="../assets/main.js"></script>
+</body>
+</html>
+
diff --git a/cli/nmo-config.html b/cli/nmo-config.html
new file mode 100644
index 0000000..234a2a2
--- /dev/null
+++ b/cli/nmo-config.html
@@ -0,0 +1,88 @@
+<!doctype html>
+<html lang="en">
+<head>
+  <meta charset="utf-8">
+  <title>nmo Manual &amp; Documentation</title>
+  <link rel="stylesheet" href="../assets/css/style.css">
+</head>
+<body>
+<a href="https://github.com/robertkowalski/nmo"><img style="position: absolute; top: 0; left: 0; border: 0;" src="https://camo.githubusercontent.com/567c3a48d796e2fc06ea80409cc9dd82bf714434/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f6c6566745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_left_darkblue_121621.png"></a>
+  <div class="wrapper">
+    <header>
+      <h1>
+        <a href="../">nmo</a>
+      </h1>
+    </header>
+
+    <div class="content">
+      <h1>manage nmo&apos;s configuration<span><a class="mark" href="#nmo_config_md_nmo_config_1_manage_nmo_s_configuration" id="nmo_config_md_nmo_config_1_manage_nmo_s_configuration">#</a></span></h1>
+<h2>Synopsis<span><a class="mark" href="#nmo_config_md_synopsis" id="nmo_config_md_synopsis">#</a></span></h2>
+<pre><code>nmo config get [&lt;section&gt;], [&lt;key&gt;] [--json]
+nmo config set &lt;section&gt;, &lt;key&gt;, &lt;value&gt;</code></pre>
+<h2>Description<span><a class="mark" href="#nmo_config_md_description" id="nmo_config_md_description">#</a></span></h2>
+<div class="signature"><ul>
+<li>set:</li>
+</div></ul>
+<p>Set a value in nmo&apos;s configuration. You must provide a section
+(e.g. <code>config</code>), a key and a value.
+
+</p>
+<p>Example:
+
+</p>
+<pre><code>nmo config set nmo json true</code></pre>
+<p>This will enable json output permanently.
+
+
+</p>
+<ul>
+<li>get:</li>
+</ul>
+<p>Print sections or values inside sections from the configuration file.
+JSON output is also supported by passing the <code>--json</code> flag.
+</p>
+
+    </div>
+
+    <footer>
+      <a href="https://github.com/robertkowalski/nmo">
+        Found a bug or typo? Want to contribute code?
+      </a>
+    </footer>
+  </div>
+  <nav class="toc-container">
+    <div class="toc section-toc">
+      <ul>
+<li><a href="#nmo_config_md_nmo_config_1_manage_nmo_s_configuration">manage nmo&apos;s configuration</a><ul>
+<li><a href="#nmo_config_md_synopsis">Synopsis</a></li>
+<li><a href="#nmo_config_md_description">Description</a></li>
+</ul>
+</li>
+</ul>
+
+    </div>
+    <hr />
+    <div class="toc main-toc">
+<a href="../api/nmo-activetasks.html">activetasks</a>
+<a href="../api/nmo-cluster.html">cluster</a>
+<a href="../api/nmo-config.html">config</a>
+<a href="../api/nmo-couch-config.html">couch-config</a>
+<a href="../api/nmo-import-csv.html">import-csv</a>
+<a href="../api/nmo-isonline.html">isonline</a>
+<a href="../api/nmo-v.html">v</a>
+<a href="../cli/nmo-cluster.html">cluster</a>
+<a href="../cli/nmo-config.html">config</a>
+<a href="../cli/nmo-couch-config.html">couch-config</a>
+<a href="../cli/nmo-help.html">help</a>
+<a href="../cli/nmo-import-csv.html">import-csv</a>
+<a href="../cli/nmo-isonline.html">isonline</a>
+<a href="../cli/nmo-v.html">v</a>
+<a href="../misc/nmo-faq.html">faq</a>
+<a href="../index.html">index</a>
+    </div>
+  </nav>
+
+<script src="../assets/main.js"></script>
+</body>
+</html>
+
diff --git a/cli/nmo-couch-config.html b/cli/nmo-couch-config.html
new file mode 100644
index 0000000..f82542f
--- /dev/null
+++ b/cli/nmo-couch-config.html
@@ -0,0 +1,88 @@
+<!doctype html>
+<html lang="en">
+<head>
+  <meta charset="utf-8">
+  <title>nmo Manual &amp; Documentation</title>
+  <link rel="stylesheet" href="../assets/css/style.css">
+</head>
+<body>
+<a href="https://github.com/robertkowalski/nmo"><img style="position: absolute; top: 0; left: 0; border: 0;" src="https://camo.githubusercontent.com/567c3a48d796e2fc06ea80409cc9dd82bf714434/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f6c6566745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_left_darkblue_121621.png"></a>
+  <div class="wrapper">
+    <header>
+      <h1>
+        <a href="../">nmo</a>
+      </h1>
+    </header>
+
+    <div class="content">
+      <h1>Set/Get CouchDB configuration for a cluster<span><a class="mark" href="#nmo_couch_config_md_nmo_couch_config_1_set_get_couchdb_configuration_for_a_cluster" id="nmo_couch_config_md_nmo_couch_config_1_set_get_couchdb_configuration_for_a_cluster">#</a></span></h1>
+<h2>Synopsis<span><a class="mark" href="#nmo_couch_config_md_synopsis" id="nmo_couch_config_md_synopsis">#</a></span></h2>
+<pre><code>nmo couch-config get &lt;cluster&gt; [&lt;key&gt;][--json]
+nmo couch-config set &lt;cluster&gt; &lt;section&gt; &lt;key&gt; &lt;value&gt;</code></pre>
+<h2>Description<span><a class="mark" href="#nmo_couch_config_md_description" id="nmo_couch_config_md_description">#</a></span></h2>
+<div class="signature"><ul>
+<li>get:</li>
+</div></ul>
+<p>Gets the set configuration for the whole cluster or a specified node.
+If a key is specified it will only get the configuration for that section
+
+</p>
+<ul>
+<li>set:</li>
+</ul>
+<p>Set the value for a given key of a section of the config. This will update
+the config for all nodes in a cluster. The cluster must be specified in the
+.nmorc file.
+
+</p>
+<h2>EXAMPLE<span><a class="mark" href="#nmo_couch_config_md_example" id="nmo_couch_config_md_example">#</a></span></h2>
+<pre><code>nmo couch-config get mycluster
+nmo couch-config get mycluster couch_httpd_auth
+
+nmo couch-config set mycluster uuids max_count 2000</code></pre>
+
+    </div>
+
+    <footer>
+      <a href="https://github.com/robertkowalski/nmo">
+        Found a bug or typo? Want to contribute code?
+      </a>
+    </footer>
+  </div>
+  <nav class="toc-container">
+    <div class="toc section-toc">
+      <ul>
+<li><a href="#nmo_couch_config_md_nmo_couch_config_1_set_get_couchdb_configuration_for_a_cluster">Set/Get CouchDB configuration for a cluster</a><ul>
+<li><a href="#nmo_couch_config_md_synopsis">Synopsis</a></li>
+<li><a href="#nmo_couch_config_md_description">Description</a></li>
+<li><a href="#nmo_couch_config_md_example">EXAMPLE</a></li>
+</ul>
+</li>
+</ul>
+
+    </div>
+    <hr />
+    <div class="toc main-toc">
+<a href="../api/nmo-activetasks.html">activetasks</a>
+<a href="../api/nmo-cluster.html">cluster</a>
+<a href="../api/nmo-config.html">config</a>
+<a href="../api/nmo-couch-config.html">couch-config</a>
+<a href="../api/nmo-import-csv.html">import-csv</a>
+<a href="../api/nmo-isonline.html">isonline</a>
+<a href="../api/nmo-v.html">v</a>
+<a href="../cli/nmo-cluster.html">cluster</a>
+<a href="../cli/nmo-config.html">config</a>
+<a href="../cli/nmo-couch-config.html">couch-config</a>
+<a href="../cli/nmo-help.html">help</a>
+<a href="../cli/nmo-import-csv.html">import-csv</a>
+<a href="../cli/nmo-isonline.html">isonline</a>
+<a href="../cli/nmo-v.html">v</a>
+<a href="../misc/nmo-faq.html">faq</a>
+<a href="../index.html">index</a>
+    </div>
+  </nav>
+
+<script src="../assets/main.js"></script>
+</body>
+</html>
+
diff --git a/cli/nmo-help.html b/cli/nmo-help.html
new file mode 100644
index 0000000..25f48e6
--- /dev/null
+++ b/cli/nmo-help.html
@@ -0,0 +1,68 @@
+<!doctype html>
+<html lang="en">
+<head>
+  <meta charset="utf-8">
+  <title>nmo Manual &amp; Documentation</title>
+  <link rel="stylesheet" href="../assets/css/style.css">
+</head>
+<body>
+<a href="https://github.com/robertkowalski/nmo"><img style="position: absolute; top: 0; left: 0; border: 0;" src="https://camo.githubusercontent.com/567c3a48d796e2fc06ea80409cc9dd82bf714434/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f6c6566745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_left_darkblue_121621.png"></a>
+  <div class="wrapper">
+    <header>
+      <h1>
+        <a href="../">nmo</a>
+      </h1>
+    </header>
+
+    <div class="content">
+      <h1>get help<span><a class="mark" href="#nmo_help_md_nmo_help_1_get_help" id="nmo_help_md_nmo_help_1_get_help">#</a></span></h1>
+<h2>Synopsis<span><a class="mark" href="#nmo_help_md_synopsis" id="nmo_help_md_synopsis">#</a></span></h2>
+<pre><code>nmo help</code></pre>
+<h2>Description<span><a class="mark" href="#nmo_help_md_description" id="nmo_help_md_description">#</a></span></h2>
+<p>Prints the available commands.
+</p>
+
+    </div>
+
+    <footer>
+      <a href="https://github.com/robertkowalski/nmo">
+        Found a bug or typo? Want to contribute code?
+      </a>
+    </footer>
+  </div>
+  <nav class="toc-container">
+    <div class="toc section-toc">
+      <ul>
+<li><a href="#nmo_help_md_nmo_help_1_get_help">get help</a><ul>
+<li><a href="#nmo_help_md_synopsis">Synopsis</a></li>
+<li><a href="#nmo_help_md_description">Description</a></li>
+</ul>
+</li>
+</ul>
+
+    </div>
+    <hr />
+    <div class="toc main-toc">
+<a href="../api/nmo-activetasks.html">activetasks</a>
+<a href="../api/nmo-cluster.html">cluster</a>
+<a href="../api/nmo-config.html">config</a>
+<a href="../api/nmo-couch-config.html">couch-config</a>
+<a href="../api/nmo-import-csv.html">import-csv</a>
+<a href="../api/nmo-isonline.html">isonline</a>
+<a href="../api/nmo-v.html">v</a>
+<a href="../cli/nmo-cluster.html">cluster</a>
+<a href="../cli/nmo-config.html">config</a>
+<a href="../cli/nmo-couch-config.html">couch-config</a>
+<a href="../cli/nmo-help.html">help</a>
+<a href="../cli/nmo-import-csv.html">import-csv</a>
+<a href="../cli/nmo-isonline.html">isonline</a>
+<a href="../cli/nmo-v.html">v</a>
+<a href="../misc/nmo-faq.html">faq</a>
+<a href="../index.html">index</a>
+    </div>
+  </nav>
+
+<script src="../assets/main.js"></script>
+</body>
+</html>
+
diff --git a/cli/nmo-import-csv.html b/cli/nmo-import-csv.html
new file mode 100644
index 0000000..b14492c
--- /dev/null
+++ b/cli/nmo-import-csv.html
@@ -0,0 +1,87 @@
+<!doctype html>
+<html lang="en">
+<head>
+  <meta charset="utf-8">
+  <title>nmo Manual &amp; Documentation</title>
+  <link rel="stylesheet" href="../assets/css/style.css">
+</head>
+<body>
+<a href="https://github.com/robertkowalski/nmo"><img style="position: absolute; top: 0; left: 0; border: 0;" src="https://camo.githubusercontent.com/567c3a48d796e2fc06ea80409cc9dd82bf714434/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f6c6566745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_left_darkblue_121621.png"></a>
+  <div class="wrapper">
+    <header>
+      <h1>
+        <a href="../">nmo</a>
+      </h1>
+    </header>
+
+    <div class="content">
+      <h1>Bulk import CSV files<span><a class="mark" href="#nmo_import_csv_md_nmo_import_csv_1_bulk_import_csv_files" id="nmo_import_csv_md_nmo_import_csv_1_bulk_import_csv_files">#</a></span></h1>
+<h2>Synopsis<span><a class="mark" href="#nmo_import_csv_md_synopsis" id="nmo_import_csv_md_synopsis">#</a></span></h2>
+<pre><code>nmo import-csv &lt;file&gt; &lt;couchdb-url&gt; [--delimiter=&apos;,&apos;] [--columns=true]</code></pre>
+<h2>Description<span><a class="mark" href="#nmo_import_csv_md_description" id="nmo_import_csv_md_description">#</a></span></h2>
+<p>Imports a csv file into CouchDB.
+
+</p>
+<h2>CONFIGURATION:<span><a class="mark" href="#nmo_import_csv_md_configuration" id="nmo_import_csv_md_configuration">#</a></span></h2>
+<p>  delimiter
+    <em> Default: &apos;,&apos;
+    </em> Type: String
+
+</p>
+<pre><code>The csv delimiter</code></pre>
+<p>  columns
+    <em> Default: true
+    </em> Type: Boolean
+
+</p>
+<pre><code>Whether to use the first row of the csv to define the key fields for
+each document</code></pre>
+<h2>EXAMPLE<span><a class="mark" href="#nmo_import_csv_md_example" id="nmo_import_csv_md_example">#</a></span></h2>
+<pre><code>nmo import-csv /path/to/csv http://couch-url --columns=true</code></pre>
+
+    </div>
+
+    <footer>
+      <a href="https://github.com/robertkowalski/nmo">
+        Found a bug or typo? Want to contribute code?
+      </a>
+    </footer>
+  </div>
+  <nav class="toc-container">
+    <div class="toc section-toc">
+      <ul>
+<li><a href="#nmo_import_csv_md_nmo_import_csv_1_bulk_import_csv_files">Bulk import CSV files</a><ul>
+<li><a href="#nmo_import_csv_md_synopsis">Synopsis</a></li>
+<li><a href="#nmo_import_csv_md_description">Description</a></li>
+<li><a href="#nmo_import_csv_md_configuration">CONFIGURATION:</a></li>
+<li><a href="#nmo_import_csv_md_example">EXAMPLE</a></li>
+</ul>
+</li>
+</ul>
+
+    </div>
+    <hr />
+    <div class="toc main-toc">
+<a href="../api/nmo-activetasks.html">activetasks</a>
+<a href="../api/nmo-cluster.html">cluster</a>
+<a href="../api/nmo-config.html">config</a>
+<a href="../api/nmo-couch-config.html">couch-config</a>
+<a href="../api/nmo-import-csv.html">import-csv</a>
+<a href="../api/nmo-isonline.html">isonline</a>
+<a href="../api/nmo-v.html">v</a>
+<a href="../cli/nmo-cluster.html">cluster</a>
+<a href="../cli/nmo-config.html">config</a>
+<a href="../cli/nmo-couch-config.html">couch-config</a>
+<a href="../cli/nmo-help.html">help</a>
+<a href="../cli/nmo-import-csv.html">import-csv</a>
+<a href="../cli/nmo-isonline.html">isonline</a>
+<a href="../cli/nmo-v.html">v</a>
+<a href="../misc/nmo-faq.html">faq</a>
+<a href="../index.html">index</a>
+    </div>
+  </nav>
+
+<script src="../assets/main.js"></script>
+</body>
+</html>
+
diff --git a/cli/nmo-isonline.html b/cli/nmo-isonline.html
new file mode 100644
index 0000000..1aec942
--- /dev/null
+++ b/cli/nmo-isonline.html
@@ -0,0 +1,79 @@
+<!doctype html>
+<html lang="en">
+<head>
+  <meta charset="utf-8">
+  <title>nmo Manual &amp; Documentation</title>
+  <link rel="stylesheet" href="../assets/css/style.css">
+</head>
+<body>
+<a href="https://github.com/robertkowalski/nmo"><img style="position: absolute; top: 0; left: 0; border: 0;" src="https://camo.githubusercontent.com/567c3a48d796e2fc06ea80409cc9dd82bf714434/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f6c6566745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_left_darkblue_121621.png"></a>
+  <div class="wrapper">
+    <header>
+      <h1>
+        <a href="../">nmo</a>
+      </h1>
+    </header>
+
+    <div class="content">
+      <h1>check if a cluster node is online<span><a class="mark" href="#nmo_isonline_md_nmo_isonline_1_check_if_a_cluster_node_is_online" id="nmo_isonline_md_nmo_isonline_1_check_if_a_cluster_node_is_online">#</a></span></h1>
+<h2>Synopsis<span><a class="mark" href="#nmo_isonline_md_synopsis" id="nmo_isonline_md_synopsis">#</a></span></h2>
+<pre><code>nmo isonline &lt;url&gt; [&lt;url&gt;, &lt;url&gt; ...] [--json]
+nmo isonline &lt;cluster&gt; [--json]</code></pre>
+<h2>Description<span><a class="mark" href="#nmo_isonline_md_description" id="nmo_isonline_md_description">#</a></span></h2>
+<p>  <url>:
+Check if one or several nodes are currently online or available.
+
+</p>
+<p>  <cluster>:
+If a cluster is defined in the nmo config file it will then check that each node
+in that cluster is online
+
+</p>
+<p>It will print the result as colored output. JSON output is also
+supported by passing the <code>--json</code> flag.
+</p>
+
+    </div>
+
+    <footer>
+      <a href="https://github.com/robertkowalski/nmo">
+        Found a bug or typo? Want to contribute code?
+      </a>
+    </footer>
+  </div>
+  <nav class="toc-container">
+    <div class="toc section-toc">
+      <ul>
+<li><a href="#nmo_isonline_md_nmo_isonline_1_check_if_a_cluster_node_is_online">check if a cluster node is online</a><ul>
+<li><a href="#nmo_isonline_md_synopsis">Synopsis</a></li>
+<li><a href="#nmo_isonline_md_description">Description</a></li>
+</ul>
+</li>
+</ul>
+
+    </div>
+    <hr />
+    <div class="toc main-toc">
+<a href="../api/nmo-activetasks.html">activetasks</a>
+<a href="../api/nmo-cluster.html">cluster</a>
+<a href="../api/nmo-config.html">config</a>
+<a href="../api/nmo-couch-config.html">couch-config</a>
+<a href="../api/nmo-import-csv.html">import-csv</a>
+<a href="../api/nmo-isonline.html">isonline</a>
+<a href="../api/nmo-v.html">v</a>
+<a href="../cli/nmo-cluster.html">cluster</a>
+<a href="../cli/nmo-config.html">config</a>
+<a href="../cli/nmo-couch-config.html">couch-config</a>
+<a href="../cli/nmo-help.html">help</a>
+<a href="../cli/nmo-import-csv.html">import-csv</a>
+<a href="../cli/nmo-isonline.html">isonline</a>
+<a href="../cli/nmo-v.html">v</a>
+<a href="../misc/nmo-faq.html">faq</a>
+<a href="../index.html">index</a>
+    </div>
+  </nav>
+
+<script src="../assets/main.js"></script>
+</body>
+</html>
+
diff --git a/cli/nmo-v.html b/cli/nmo-v.html
new file mode 100644
index 0000000..2b82bcb
--- /dev/null
+++ b/cli/nmo-v.html
@@ -0,0 +1,69 @@
+<!doctype html>
+<html lang="en">
+<head>
+  <meta charset="utf-8">
+  <title>nmo Manual &amp; Documentation</title>
+  <link rel="stylesheet" href="../assets/css/style.css">
+</head>
+<body>
+<a href="https://github.com/robertkowalski/nmo"><img style="position: absolute; top: 0; left: 0; border: 0;" src="https://camo.githubusercontent.com/567c3a48d796e2fc06ea80409cc9dd82bf714434/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f6c6566745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_left_darkblue_121621.png"></a>
+  <div class="wrapper">
+    <header>
+      <h1>
+        <a href="../">nmo</a>
+      </h1>
+    </header>
+
+    <div class="content">
+      <h1>get the current nmo version<span><a class="mark" href="#nmo_v_md_nmo_v_1_get_the_current_nmo_version" id="nmo_v_md_nmo_v_1_get_the_current_nmo_version">#</a></span></h1>
+<h2>Synopsis<span><a class="mark" href="#nmo_v_md_synopsis" id="nmo_v_md_synopsis">#</a></span></h2>
+<pre><code>nmo v
+nmo -v</code></pre>
+<h2>Description<span><a class="mark" href="#nmo_v_md_description" id="nmo_v_md_description">#</a></span></h2>
+<p>Prints the current node and nmo version.
+</p>
+
+    </div>
+
+    <footer>
+      <a href="https://github.com/robertkowalski/nmo">
+        Found a bug or typo? Want to contribute code?
+      </a>
+    </footer>
+  </div>
+  <nav class="toc-container">
+    <div class="toc section-toc">
+      <ul>
+<li><a href="#nmo_v_md_nmo_v_1_get_the_current_nmo_version">get the current nmo version</a><ul>
+<li><a href="#nmo_v_md_synopsis">Synopsis</a></li>
+<li><a href="#nmo_v_md_description">Description</a></li>
+</ul>
+</li>
+</ul>
+
+    </div>
+    <hr />
+    <div class="toc main-toc">
+<a href="../api/nmo-activetasks.html">activetasks</a>
+<a href="../api/nmo-cluster.html">cluster</a>
+<a href="../api/nmo-config.html">config</a>
+<a href="../api/nmo-couch-config.html">couch-config</a>
+<a href="../api/nmo-import-csv.html">import-csv</a>
+<a href="../api/nmo-isonline.html">isonline</a>
+<a href="../api/nmo-v.html">v</a>
+<a href="../cli/nmo-cluster.html">cluster</a>
+<a href="../cli/nmo-config.html">config</a>
+<a href="../cli/nmo-couch-config.html">couch-config</a>
+<a href="../cli/nmo-help.html">help</a>
+<a href="../cli/nmo-import-csv.html">import-csv</a>
+<a href="../cli/nmo-isonline.html">isonline</a>
+<a href="../cli/nmo-v.html">v</a>
+<a href="../misc/nmo-faq.html">faq</a>
+<a href="../index.html">index</a>
+    </div>
+  </nav>
+
+<script src="../assets/main.js"></script>
+</body>
+</html>
+
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..2fffeed
--- /dev/null
+++ b/index.html
@@ -0,0 +1,92 @@
+<!doctype html>
+<html lang="en">
+<head>
+  <meta charset="utf-8">
+  <title>nmo Manual &amp; Documentation</title>
+  <link rel="stylesheet" href="./assets/css/style.css">
+</head>
+<body>
+<a href="https://github.com/robertkowalski/nmo"><img style="position: absolute; top: 0; left: 0; border: 0;" src="https://camo.githubusercontent.com/567c3a48d796e2fc06ea80409cc9dd82bf714434/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f6c6566745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_left_darkblue_121621.png"></a>
+  <div class="wrapper">
+    <header>
+      <h1>
+        <a href="./">nmo</a>
+      </h1>
+    </header>
+
+    <div class="content">
+      <h2>Install nmo<span><a class="mark" href="#index_md_install_nmo" id="index_md_install_nmo">#</a></span></h2>
+<pre><code># you need to have node installed
+npm install -g nmo</code></pre>
+<h2>How to use nmo?<span><a class="mark" href="#index_md_how_to_use_nmo" id="index_md_how_to_use_nmo">#</a></span></h2>
+<p>Take a look at the video:
+
+</p>
+<iframe width="560" height="315" src="//www.youtube.com/embed/V_nChYFPixc" frameborder="0" allowfullscreen></iframe>
+
+<h3>Content from the video<span><a class="mark" href="#index_md_content_from_the_video" id="index_md_content_from_the_video">#</a></span></h3>
+<pre><code># check if node is online
+nmo isonline http://foo:bar@localhost:15984
+
+# create a cluster config for the cluster anemone
+nmo cluster add node1 http://foo:bar@localhost:15984 anemone
+nmo cluster add node2 http://foo:bar@localhost:25984 anemone
+nmo cluster add node3 http://foo:bar@localhost:35984 anemone
+
+# check config
+nmo cluster get
+
+# we support json!
+nmo cluster get --json
+nmo isonline http://foo:bar@localhost:15984 --json
+
+# join cluster
+nmo cluster join anemone
+
+# try again
+nmo cluster join anemone</code></pre>
+
+    </div>
+
+    <footer>
+      <a href="https://github.com/robertkowalski/nmo">
+        Found a bug or typo? Want to contribute code?
+      </a>
+    </footer>
+  </div>
+  <nav class="toc-container">
+    <div class="toc section-toc">
+      <ul>
+<li><a href="#index_md_install_nmo">Install nmo</a></li>
+<li><a href="#index_md_how_to_use_nmo">How to use nmo?</a><ul>
+<li><a href="#index_md_content_from_the_video">Content from the video</a></li>
+</ul>
+</li>
+</ul>
+
+    </div>
+    <hr />
+    <div class="toc main-toc">
+<a href="./api/nmo-activetasks.html">activetasks</a>
+<a href="./api/nmo-cluster.html">cluster</a>
+<a href="./api/nmo-config.html">config</a>
+<a href="./api/nmo-couch-config.html">couch-config</a>
+<a href="./api/nmo-import-csv.html">import-csv</a>
+<a href="./api/nmo-isonline.html">isonline</a>
+<a href="./api/nmo-v.html">v</a>
+<a href="./cli/nmo-cluster.html">cluster</a>
+<a href="./cli/nmo-config.html">config</a>
+<a href="./cli/nmo-couch-config.html">couch-config</a>
+<a href="./cli/nmo-help.html">help</a>
+<a href="./cli/nmo-import-csv.html">import-csv</a>
+<a href="./cli/nmo-isonline.html">isonline</a>
+<a href="./cli/nmo-v.html">v</a>
+<a href="./misc/nmo-faq.html">faq</a>
+<a href="./index.html">index</a>
+    </div>
+  </nav>
+
+<script src="./assets/main.js"></script>
+</body>
+</html>
+
diff --git a/misc/nmo-faq.html b/misc/nmo-faq.html
new file mode 100644
index 0000000..44effb9
--- /dev/null
+++ b/misc/nmo-faq.html
@@ -0,0 +1,84 @@
+<!doctype html>
+<html lang="en">
+<head>
+  <meta charset="utf-8">
+  <title>nmo Manual &amp; Documentation</title>
+  <link rel="stylesheet" href="../assets/css/style.css">
+</head>
+<body>
+<a href="https://github.com/robertkowalski/nmo"><img style="position: absolute; top: 0; left: 0; border: 0;" src="https://camo.githubusercontent.com/567c3a48d796e2fc06ea80409cc9dd82bf714434/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f6c6566745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_left_darkblue_121621.png"></a>
+  <div class="wrapper">
+    <header>
+      <h1>
+        <a href="../">nmo</a>
+      </h1>
+    </header>
+
+    <div class="content">
+      <h1>Frequently Asked Questions<span><a class="mark" href="#nmo_faq_md_nmo_faq_7_frequently_asked_questions" id="nmo_faq_md_nmo_faq_7_frequently_asked_questions">#</a></span></h1>
+<h2>Where are my clusters and config stored?<span><a class="mark" href="#nmo_faq_md_where_are_my_clusters_and_config_stored" id="nmo_faq_md_where_are_my_clusters_and_config_stored">#</a></span></h2>
+<p>We store them in a file called .nmorc in your $HOME. My config is in:
+
+</p>
+<pre><code>/Users/robert/.nmorc</code></pre>
+<p>Never expose your nmoconf to untrusted persons, as it contains your
+node passwords (if your nodes are not in party mode).
+
+</p>
+<h2>How does setting up a cluster work?<span><a class="mark" href="#nmo_faq_md_how_does_setting_up_a_cluster_work" id="nmo_faq_md_how_does_setting_up_a_cluster_work">#</a></span></h2>
+<p>First, add your nodes to the cluster (assuming your user/pw is
+foo/bar) and you want to name your cluster <code>mycluster</code>:
+
+</p>
+<pre><code>nmo cluster add node1 http://foo:bar@example.com mycluster
+nmo cluster add node2 http://foo:bar@example.org mycluster
+nmo cluster add node3 http://foo:bar@node3.example.org mycluster</code></pre>
+<p>Then join them to a cluster:
+
+</p>
+<pre><code>nmo cluster join mycluster</code></pre>
+
+    </div>
+
+    <footer>
+      <a href="https://github.com/robertkowalski/nmo">
+        Found a bug or typo? Want to contribute code?
+      </a>
+    </footer>
+  </div>
+  <nav class="toc-container">
+    <div class="toc section-toc">
+      <ul>
+<li><a href="#nmo_faq_md_nmo_faq_7_frequently_asked_questions">Frequently Asked Questions</a><ul>
+<li><a href="#nmo_faq_md_where_are_my_clusters_and_config_stored">Where are my clusters and config stored?</a></li>
+<li><a href="#nmo_faq_md_how_does_setting_up_a_cluster_work">How does setting up a cluster work?</a></li>
+</ul>
+</li>
+</ul>
+
+    </div>
+    <hr />
+    <div class="toc main-toc">
+<a href="../api/nmo-activetasks.html">activetasks</a>
+<a href="../api/nmo-cluster.html">cluster</a>
+<a href="../api/nmo-config.html">config</a>
+<a href="../api/nmo-couch-config.html">couch-config</a>
+<a href="../api/nmo-import-csv.html">import-csv</a>
+<a href="../api/nmo-isonline.html">isonline</a>
+<a href="../api/nmo-v.html">v</a>
+<a href="../cli/nmo-cluster.html">cluster</a>
+<a href="../cli/nmo-config.html">config</a>
+<a href="../cli/nmo-couch-config.html">couch-config</a>
+<a href="../cli/nmo-help.html">help</a>
+<a href="../cli/nmo-import-csv.html">import-csv</a>
+<a href="../cli/nmo-isonline.html">isonline</a>
+<a href="../cli/nmo-v.html">v</a>
+<a href="../misc/nmo-faq.html">faq</a>
+<a href="../index.html">index</a>
+    </div>
+  </nav>
+
+<script src="../assets/main.js"></script>
+</body>
+</html>
+
diff --git a/toc-index.html b/toc-index.html
new file mode 100644
index 0000000..f77192b
--- /dev/null
+++ b/toc-index.html
@@ -0,0 +1,16 @@
+<a href="./api/nmo-activetasks.html">activetasks</a>
+<a href="./api/nmo-cluster.html">cluster</a>
+<a href="./api/nmo-config.html">config</a>
+<a href="./api/nmo-couch-config.html">couch-config</a>
+<a href="./api/nmo-import-csv.html">import-csv</a>
+<a href="./api/nmo-isonline.html">isonline</a>
+<a href="./api/nmo-v.html">v</a>
+<a href="./cli/nmo-cluster.html">cluster</a>
+<a href="./cli/nmo-config.html">config</a>
+<a href="./cli/nmo-couch-config.html">couch-config</a>
+<a href="./cli/nmo-help.html">help</a>
+<a href="./cli/nmo-import-csv.html">import-csv</a>
+<a href="./cli/nmo-isonline.html">isonline</a>
+<a href="./cli/nmo-v.html">v</a>
+<a href="./misc/nmo-faq.html">faq</a>
+<a href="./index.html">index</a>
diff --git a/toc.html b/toc.html
new file mode 100644
index 0000000..9c9dfdf
--- /dev/null
+++ b/toc.html
@@ -0,0 +1,16 @@
+<a href="../api/nmo-activetasks.html">activetasks</a>
+<a href="../api/nmo-cluster.html">cluster</a>
+<a href="../api/nmo-config.html">config</a>
+<a href="../api/nmo-couch-config.html">couch-config</a>
+<a href="../api/nmo-import-csv.html">import-csv</a>
+<a href="../api/nmo-isonline.html">isonline</a>
+<a href="../api/nmo-v.html">v</a>
+<a href="../cli/nmo-cluster.html">cluster</a>
+<a href="../cli/nmo-config.html">config</a>
+<a href="../cli/nmo-couch-config.html">couch-config</a>
+<a href="../cli/nmo-help.html">help</a>
+<a href="../cli/nmo-import-csv.html">import-csv</a>
+<a href="../cli/nmo-isonline.html">isonline</a>
+<a href="../cli/nmo-v.html">v</a>
+<a href="../misc/nmo-faq.html">faq</a>
+<a href="../index.html">index</a>
