You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mnemonic.apache.org by ga...@apache.org on 2016/04/06 04:56:16 UTC

[3/3] incubator-mnemonic git commit: Initial website after Garys changes - news removal

Initial website after Garys changes - news removal


Project: http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/commit/cbdf3730
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/tree/cbdf3730
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/diff/cbdf3730

Branch: refs/heads/asf-site-src
Commit: cbdf37303103ac965ecdd1bc422a75b70ca54360
Parents: e735232
Author: Debo Dutta <dd...@gmail.com>
Authored: Tue Apr 5 19:51:22 2016 -0700
Committer: Debo Dutta <dd...@gmail.com>
Committed: Tue Apr 5 19:51:22 2016 -0700

----------------------------------------------------------------------
 BUILD.md                            |   25 +
 Gemfile                             |    3 +
 Gemfile.lock                        |  134 ++++
 README.md                           |    7 +
 _config.yml                         |   14 +
 _data/docs.yml                      |    7 +
 _docs/arch.md                       |    5 +
 _docs/devices.md                    |    5 +
 _docs/future.md                     |    5 +
 _docs/index.md                      |    5 +
 _docs/indexes.md                    |    7 +
 _docs/ui-usage.md                   |    7 +
 _includes/anchor_links.html         |   33 +
 _includes/docs_contents.html        |    8 +
 _includes/docs_contents_mobile.html |   10 +
 _includes/docs_option.html          |   11 +
 _includes/docs_ul.html              |   21 +
 _includes/footer.html               |    8 +
 _includes/header.html               |   18 +
 _includes/primary-nav-items.html    |   21 +
 _includes/section_nav.html          |   39 ++
 _includes/top.html                  |   15 +
 _layouts/default.html               |   12 +
 _layouts/docs.html                  |   23 +
 _layouts/page.html                  |   18 +
 _sass/_font-awesome.scss            |   25 +
 _sass/_gridism.scss                 |  124 ++++
 _sass/_mixins.scss                  |   38 ++
 _sass/_normalize.scss               |    1 +
 _sass/_pygments.scss                |   78 +++
 css/screen.scss                     | 1003 ++++++++++++++++++++++++++++++
 develop/bylaws.md                   |  281 +++++++++
 develop/coding.md                   |   34 +
 develop/index.md                    |   50 ++
 downloads/index.md                  |    6 +
 favicon.ico                         |  Bin 0 -> 18558 bytes
 feed.xml                            |   30 +
 fonts/fontawesome-webfont.eot       |  Bin 0 -> 56006 bytes
 fonts/fontawesome-webfont.svg       |  520 ++++++++++++++++
 fonts/fontawesome-webfont.ttf       |  Bin 0 -> 112160 bytes
 fonts/fontawesome-webfont.woff      |  Bin 0 -> 65452 bytes
 help/index.md                       |   32 +
 img/logo.png                        |  Bin 0 -> 18558 bytes
 index.html                          |   37 +-
 js/html5shiv.min.js                 |    4 +
 js/respond.min.js                   |    5 +
 mnemonic_logo.png                   |  Bin 0 -> 18558 bytes
 talks/index.md                      |   18 +
 48 files changed, 2746 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/BUILD.md
----------------------------------------------------------------------
diff --git a/BUILD.md b/BUILD.md
new file mode 100644
index 0000000..17bfbd6
--- /dev/null
+++ b/BUILD.md
@@ -0,0 +1,25 @@
+# Apache mnemonic docs site
+
+This directory contains the code for the Apache mnemonic web site,
+[mnemonic.apache.org](https://mnemonic.apache.org/).
+
+## Setup
+
+1. `git clone https://git-wip-us.apache.org/repos/asf/incubator-mnemonic.git -b asf-site target`
+2. `sudo gem install bundler`
+3. `sudo gem install github-pages jekyll`
+4. `bundle install`
+
+## Running locally
+
+You can preview your contributions before opening a pull request by running from within the directory:
+
+1. `bundle exec jekyll serve`
+
+## Pushing to site
+
+1. `cd site/target`
+2. `git status`
+3. You'll need to `git add` any new files
+4. `git commit -a`
+5. `git push origin asf-site`

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/Gemfile
----------------------------------------------------------------------
diff --git a/Gemfile b/Gemfile
new file mode 100644
index 0000000..77ef869
--- /dev/null
+++ b/Gemfile
@@ -0,0 +1,3 @@
+source 'https://rubygems.org'
+gem 'github-pages'
+gem 'rouge'
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/Gemfile.lock
----------------------------------------------------------------------
diff --git a/Gemfile.lock b/Gemfile.lock
new file mode 100644
index 0000000..ac9cb1e
--- /dev/null
+++ b/Gemfile.lock
@@ -0,0 +1,134 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    RedCloth (4.2.9)
+    activesupport (4.2.6)
+      i18n (~> 0.7)
+      json (~> 1.7, >= 1.7.7)
+      minitest (~> 5.1)
+      thread_safe (~> 0.3, >= 0.3.4)
+      tzinfo (~> 1.1)
+    addressable (2.4.0)
+    coffee-script (2.4.1)
+      coffee-script-source
+      execjs
+    coffee-script-source (1.10.0)
+    colorator (0.1)
+    ethon (0.8.1)
+      ffi (>= 1.3.0)
+    execjs (2.6.0)
+    faraday (0.9.2)
+      multipart-post (>= 1.2, < 3)
+    ffi (1.9.10)
+    gemoji (2.1.0)
+    github-pages (68)
+      RedCloth (= 4.2.9)
+      github-pages-health-check (= 1.1.0)
+      jekyll (= 3.0.3)
+      jekyll-coffeescript (= 1.0.1)
+      jekyll-feed (= 0.4.0)
+      jekyll-gist (= 1.4.0)
+      jekyll-github-metadata (= 1.10.0)
+      jekyll-mentions (= 1.1.2)
+      jekyll-paginate (= 1.1.0)
+      jekyll-redirect-from (= 0.10.0)
+      jekyll-sass-converter (= 1.3.0)
+      jekyll-seo-tag (= 1.3.3)
+      jekyll-sitemap (= 0.10.0)
+      jekyll-textile-converter (= 0.1.0)
+      jemoji (= 0.6.2)
+      kramdown (= 1.10.0)
+      liquid (= 3.0.6)
+      mercenary (~> 0.3)
+      rdiscount (= 2.1.8)
+      redcarpet (= 3.3.3)
+      rouge (= 1.10.1)
+      terminal-table (~> 1.4)
+    github-pages-health-check (1.1.0)
+      addressable (~> 2.3)
+      net-dns (~> 0.8)
+      octokit (~> 4.0)
+      public_suffix (~> 1.4)
+      typhoeus (~> 0.7)
+    html-pipeline (2.3.0)
+      activesupport (>= 2, < 5)
+      nokogiri (>= 1.4)
+    i18n (0.7.0)
+    jekyll (3.0.3)
+      colorator (~> 0.1)
+      jekyll-sass-converter (~> 1.0)
+      jekyll-watch (~> 1.1)
+      kramdown (~> 1.3)
+      liquid (~> 3.0)
+      mercenary (~> 0.3.3)
+      rouge (~> 1.7)
+      safe_yaml (~> 1.0)
+    jekyll-coffeescript (1.0.1)
+      coffee-script (~> 2.2)
+    jekyll-feed (0.4.0)
+    jekyll-gist (1.4.0)
+      octokit (~> 4.2)
+    jekyll-github-metadata (1.10.0)
+      octokit (~> 4.0)
+    jekyll-mentions (1.1.2)
+      html-pipeline (~> 2.3)
+      jekyll (~> 3.0)
+    jekyll-paginate (1.1.0)
+    jekyll-redirect-from (0.10.0)
+      jekyll (>= 2.0)
+    jekyll-sass-converter (1.3.0)
+      sass (~> 3.2)
+    jekyll-seo-tag (1.3.3)
+      jekyll (~> 3.0)
+    jekyll-sitemap (0.10.0)
+    jekyll-textile-converter (0.1.0)
+      RedCloth (~> 4.0)
+    jekyll-watch (1.3.1)
+      listen (~> 3.0)
+    jemoji (0.6.2)
+      gemoji (~> 2.0)
+      html-pipeline (~> 2.2)
+      jekyll (>= 3.0)
+    json (1.8.3)
+    kramdown (1.10.0)
+    liquid (3.0.6)
+    listen (3.0.6)
+      rb-fsevent (>= 0.9.3)
+      rb-inotify (>= 0.9.7)
+    mercenary (0.3.5)
+    mini_portile2 (2.0.0)
+    minitest (5.8.4)
+    multipart-post (2.0.0)
+    net-dns (0.8.0)
+    nokogiri (1.6.7.2)
+      mini_portile2 (~> 2.0.0.rc2)
+    octokit (4.3.0)
+      sawyer (~> 0.7.0, >= 0.5.3)
+    public_suffix (1.5.3)
+    rb-fsevent (0.9.7)
+    rb-inotify (0.9.7)
+      ffi (>= 0.5.0)
+    rdiscount (2.1.8)
+    redcarpet (3.3.3)
+    rouge (1.10.1)
+    safe_yaml (1.0.4)
+    sass (3.4.22)
+    sawyer (0.7.0)
+      addressable (>= 2.3.5, < 2.5)
+      faraday (~> 0.8, < 0.10)
+    terminal-table (1.5.2)
+    thread_safe (0.3.5)
+    typhoeus (0.8.0)
+      ethon (>= 0.8.0)
+    tzinfo (1.2.2)
+      thread_safe (~> 0.1)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  github-pages
+  rouge
+
+BUNDLED WITH
+   1.10.6

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..32966ae
--- /dev/null
+++ b/README.md
@@ -0,0 +1,7 @@
+# Apache Mnemonic html branch
+
+This branch contains the generated HTML for the
+[Mnemonic website](https://mnemonic.apache.org).
+
+You are probably looking for the
+[Mnemonic master branch](https://github.com/apache/incubator-nmemonic/tree/master).

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/_config.yml
----------------------------------------------------------------------
diff --git a/_config.yml b/_config.yml
new file mode 100644
index 0000000..eee9a8f
--- /dev/null
+++ b/_config.yml
@@ -0,0 +1,14 @@
+markdown: kramdown
+highlighter: rouge
+permalink: /news/:year/:month/:day/:title/
+excerpt_separator: ""
+
+repository: https://github.com/apache/incubator-mnemonic
+destination: target
+exclude: [BUILD.md, Gemfile*]
+keep_files: [.git]
+highlight_color: "#199acf"
+
+collections:
+  docs:
+    output: true

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/_data/docs.yml
----------------------------------------------------------------------
diff --git a/_data/docs.yml b/_data/docs.yml
new file mode 100644
index 0000000..a647f23
--- /dev/null
+++ b/_data/docs.yml
@@ -0,0 +1,7 @@
+- title: Overview
+  docs:
+  - arch
+
+- title: Usage
+  docs:
+  - ui-usage

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/_docs/arch.md
----------------------------------------------------------------------
diff --git a/_docs/arch.md b/_docs/arch.md
new file mode 100644
index 0000000..9b3687e
--- /dev/null
+++ b/_docs/arch.md
@@ -0,0 +1,5 @@
+---
+layout: page
+title: Mnemonic Architecture
+permalink: /docs/arch.html
+---

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/_docs/devices.md
----------------------------------------------------------------------
diff --git a/_docs/devices.md b/_docs/devices.md
new file mode 100644
index 0000000..9263769
--- /dev/null
+++ b/_docs/devices.md
@@ -0,0 +1,5 @@
+---
+layout: docs
+title: Device Support
+permalink: /docs/devices.html
+---

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/_docs/future.md
----------------------------------------------------------------------
diff --git a/_docs/future.md b/_docs/future.md
new file mode 100644
index 0000000..5d89d11
--- /dev/null
+++ b/_docs/future.md
@@ -0,0 +1,5 @@
+---
+layout: docs
+title: Future
+permalink: /docs/future.html
+---

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/_docs/index.md
----------------------------------------------------------------------
diff --git a/_docs/index.md b/_docs/index.md
new file mode 100644
index 0000000..f0e9db0
--- /dev/null
+++ b/_docs/index.md
@@ -0,0 +1,5 @@
+---
+layout: docs
+title: Background
+permalink: /docs/index.html
+---

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/_docs/indexes.md
----------------------------------------------------------------------
diff --git a/_docs/indexes.md b/_docs/indexes.md
new file mode 100644
index 0000000..58e7239
--- /dev/null
+++ b/_docs/indexes.md
@@ -0,0 +1,7 @@
+---
+layout: docs
+title: Arch
+permalink: /docs/indexes.html
+---
+
+Intro the Arch

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/_docs/ui-usage.md
----------------------------------------------------------------------
diff --git a/_docs/ui-usage.md b/_docs/ui-usage.md
new file mode 100644
index 0000000..b30a232
--- /dev/null
+++ b/_docs/ui-usage.md
@@ -0,0 +1,7 @@
+---
+layout: docs
+title: Arch
+permalink: /docs/hive-ddl.html
+---
+
+Mnemonic has both a UI as well as an API.

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/_includes/anchor_links.html
----------------------------------------------------------------------
diff --git a/_includes/anchor_links.html b/_includes/anchor_links.html
new file mode 100644
index 0000000..c584ce5
--- /dev/null
+++ b/_includes/anchor_links.html
@@ -0,0 +1,33 @@
+<script>
+  var anchorForId = function (id) {
+    var anchor = document.createElement("a");
+    anchor.className = "header-link";
+    anchor.href      = "#" + id;
+    anchor.innerHTML = "<span class=\"sr-only\">Permalink</span><i class=\"fa fa-link\"></i>";
+    anchor.title = "Permalink";
+    return anchor;
+  };
+
+  var linkifyAnchors = function (level, containingElement) {
+    var headers = containingElement.getElementsByTagName("h" + level);
+    for (var h = 0; h < headers.length; h++) {
+      var header = headers[h];
+
+      if (typeof header.id !== "undefined" && header.id !== "") {
+        header.appendChild(anchorForId(header.id));
+      }
+    }
+  };
+
+  document.onreadystatechange = function () {
+    if (this.readyState === "complete") {
+      var contentBlock = document.getElementsByClassName("docs")[0] || document.getElementsByClassName("news")[0];
+      if (!contentBlock) {
+        return;
+      }
+      for (var level = 1; level <= 6; level++) {
+        linkifyAnchors(level, contentBlock);
+      }
+    }
+  };
+</script>

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/_includes/docs_contents.html
----------------------------------------------------------------------
diff --git a/_includes/docs_contents.html b/_includes/docs_contents.html
new file mode 100644
index 0000000..2ac64bb
--- /dev/null
+++ b/_includes/docs_contents.html
@@ -0,0 +1,8 @@
+<div class="unit one-fifth hide-on-mobiles">
+  <aside>
+    {% for section in site.data.docs %}
+    <h4>{{ section.title }}</h4>
+    {% include docs_ul.html items=section.docs %}
+    {% endfor %}
+  </aside>
+</div>

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/_includes/docs_contents_mobile.html
----------------------------------------------------------------------
diff --git a/_includes/docs_contents_mobile.html b/_includes/docs_contents_mobile.html
new file mode 100644
index 0000000..b3e0110
--- /dev/null
+++ b/_includes/docs_contents_mobile.html
@@ -0,0 +1,10 @@
+<div class="docs-nav-mobile unit whole show-on-mobiles">
+  <select onchange="if (this.value) window.location.href=this.value">
+    <option value="">Navigate the docs…</option>
+    {% for section in site.data.docs %}
+    <optgroup label="{{ section.title }}">
+      {% include docs_option.html items=section.docs %}
+    </optgroup>
+    {% endfor %}
+  </select>
+</div>

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/_includes/docs_option.html
----------------------------------------------------------------------
diff --git a/_includes/docs_option.html b/_includes/docs_option.html
new file mode 100644
index 0000000..0913a59
--- /dev/null
+++ b/_includes/docs_option.html
@@ -0,0 +1,11 @@
+{% assign items = include.items %}
+
+{% for item in items %}
+  {% assign item_url = item | prepend:"/docs/" | append:".html" %}
+
+  {% for p in site.docs %}
+    {% if p.url == item_url %}
+      <option value="{{ site.url }}{{ p.url }}">{{ p.title }}</option>
+    {% endif %}
+  {% endfor %}
+{% endfor %}

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/_includes/docs_ul.html
----------------------------------------------------------------------
diff --git a/_includes/docs_ul.html b/_includes/docs_ul.html
new file mode 100644
index 0000000..fa585e6
--- /dev/null
+++ b/_includes/docs_ul.html
@@ -0,0 +1,21 @@
+{% assign items = include.items %}
+
+<ul>
+{% for item in items %}
+  {% assign item_url = item | prepend:"/docs/" | append:".html" %}
+
+  {% if item_url == page.url %}
+    {% assign c = "current" %}
+  {% else %}
+    {% assign c = "" %}
+  {% endif %}
+
+  {% for p in site.docs %}
+    {% if p.url == item_url %}
+      <li class="{{ c }}"><a href="{{ site.url }}{{ p.url }}">{{ p.title }}</a></li>
+      {% break %}
+    {% endif %}
+  {% endfor %}
+
+{% endfor %}
+</ul>

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/_includes/footer.html
----------------------------------------------------------------------
diff --git a/_includes/footer.html b/_includes/footer.html
new file mode 100644
index 0000000..7ac05c3
--- /dev/null
+++ b/_includes/footer.html
@@ -0,0 +1,8 @@
+<footer role="contentinfo">
+  <p>The contents of this website are &copy;&nbsp;{{ site.time | date: '%Y' }}
+     <a href="https://www.apache.org/">Apache Software Foundation</a>
+     under the terms of the <a
+      href="https://www.apache.org/licenses/LICENSE-2.0.html">
+      Apache&nbsp;License&nbsp;v2</a>. Apache mnemonic and its logo are trademarks
+      of the Apache Software Foundation.</p>
+</footer>

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/_includes/header.html
----------------------------------------------------------------------
diff --git a/_includes/header.html b/_includes/header.html
new file mode 100644
index 0000000..ba5f4eb
--- /dev/null
+++ b/_includes/header.html
@@ -0,0 +1,18 @@
+<header role="banner">
+  <nav class="mobile-nav show-on-mobiles">
+    {% include primary-nav-items.html %}
+  </nav>
+  <div class="grid">
+    <div class="unit one-third center-on-mobiles">
+      <h1>
+        <a href="/">
+          <span class="sr-only">Apache mnemonic</span>
+          <img src="/img/logo.png" width="289" alt="mnemonic Logo" class="logo">
+        </a>
+      </h1>
+    </div>
+    <nav class="main-nav unit two-thirds hide-on-mobiles">
+      {% include primary-nav-items.html %}
+    </nav>
+  </div>
+</header>

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/_includes/primary-nav-items.html
----------------------------------------------------------------------
diff --git a/_includes/primary-nav-items.html b/_includes/primary-nav-items.html
new file mode 100644
index 0000000..d14406e
--- /dev/null
+++ b/_includes/primary-nav-items.html
@@ -0,0 +1,21 @@
+<ul>
+  <li class="{% if page.overview %}current{% endif %}">
+    <a href="/">Home</a>
+  </li>
+  <li class="{% if page.url contains '/docs/' %}current{% endif %}">
+    <a href="/docs/">Doc<span class="show-on-mobiles">s</span>
+                        <span class="hide-on-mobiles">umentation</span></a>
+  </li>
+  <li class="{% if page.url contains '/talks/' %}current{% endif %}">
+    <a href="/talks/">Talks</a>
+  </li>
+  <!-- <li class="{% if page.url contains '/news/' %}current{% endif %}">
+    <a href="/news/">News</a>
+  </li> -->
+  <li class="{% if page.url contains '/help/' %}current{% endif %}">
+    <a href="/help/">Help</a>
+  </li>
+  <li class="{% if page.url contains '/develop/' %}current{% endif %}">
+    <a href="/develop/">Develop</a>
+  </li>
+</ul>

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/_includes/section_nav.html
----------------------------------------------------------------------
diff --git a/_includes/section_nav.html b/_includes/section_nav.html
new file mode 100644
index 0000000..072a21e
--- /dev/null
+++ b/_includes/section_nav.html
@@ -0,0 +1,39 @@
+{% comment %}
+Map grabs the doc sections, giving us an array of arrays. Join, flattens all
+the items to a comma delimited string. Split turns it into an array again.
+{% endcomment %}
+{% assign docs = site.data.docs | map: 'docs' | join: ',' | split: ',' %}
+
+{% comment %}
+Because this is built for every page, lets find where we are in the ordered
+document list by comparing url strings. Then if there's something previous or
+next, lets build a link to it.
+{% endcomment %}
+
+{% for document in docs %}
+  {% assign document_url = document | prepend:"/docs/" | append:".html" %}
+  {% if document_url == page.url %}
+    <div class="section-nav">
+      <div class="left align-right">
+          {% if forloop.first %}
+            <span class="prev disabled">Back</span>
+          {% else %}
+            {% assign previous = forloop.index0 | minus: 1 %}
+            {% assign previous_page = docs[previous] | prepend:"/docs/" | append:".html" %}
+            <a href="{{ previous_page }}" class="prev">Back</a>
+          {% endif %}
+      </div>
+      <div class="right align-left">
+          {% if forloop.last %}
+            <span class="next disabled">Next</span>
+          {% else %}
+            {% assign next = forloop.index0 | plus: 1 %}
+            {% assign next_page = docs[next] | prepend:"/docs/" | append:".html" %}
+            <a href="{{ next_page }}" class="next">Next</a>
+          {% endif %}
+      </div>
+    </div>
+    <div class="clear"></div>
+    {% break %}
+  {% endif %}
+{% endfor %}

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/_includes/top.html
----------------------------------------------------------------------
diff --git a/_includes/top.html b/_includes/top.html
new file mode 100644
index 0000000..a4c04e7
--- /dev/null
+++ b/_includes/top.html
@@ -0,0 +1,15 @@
+<!DOCTYPE HTML>
+<html lang="en-US">
+<head>
+  <meta charset="UTF-8">
+  <title>{{ page.title }}</title>
+  <meta name="viewport" content="width=device-width,initial-scale=1">
+  <meta name="generator" content="Jekyll v{{ jekyll.version }}">
+  <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic,900">
+  <link rel="stylesheet" href="/css/screen.css">
+  <link rel="icon" type="image/x-icon" href="/favicon.ico">
+  <!--[if lt IE 9]>
+  <script src="/js/html5shiv.min.js"></script>
+  <script src="/js/respond.min.js"></script>
+  <![endif]-->
+</head>

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/_layouts/default.html
----------------------------------------------------------------------
diff --git a/_layouts/default.html b/_layouts/default.html
new file mode 100644
index 0000000..f734c79
--- /dev/null
+++ b/_layouts/default.html
@@ -0,0 +1,12 @@
+{% include top.html %}
+
+<body class="wrap">
+  {% include header.html %}
+
+  {{ content }}
+
+  {% include footer.html %}
+  {% include anchor_links.html %}
+
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/_layouts/docs.html
----------------------------------------------------------------------
diff --git a/_layouts/docs.html b/_layouts/docs.html
new file mode 100644
index 0000000..a0a8a5c
--- /dev/null
+++ b/_layouts/docs.html
@@ -0,0 +1,23 @@
+---
+layout: default
+---
+
+  <section class="docs">
+    <div class="grid">
+
+      {% include docs_contents_mobile.html %}
+
+      <div class="unit four-fifths">
+        <article>
+          <h1>{{ page.title }}</h1>
+          {{ content }}
+          {% include section_nav.html %}
+        </article>
+      </div>
+
+      {% include docs_contents.html %}
+
+      <div class="clear"></div>
+
+    </div>
+  </section>

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/_layouts/page.html
----------------------------------------------------------------------
diff --git a/_layouts/page.html b/_layouts/page.html
new file mode 100644
index 0000000..bae31bb
--- /dev/null
+++ b/_layouts/page.html
@@ -0,0 +1,18 @@
+---
+layout: default
+---
+
+<section class="standalone">
+  <div class="grid">
+
+    <div class="unit whole">
+      <article>
+        <h1>{{ page.title }}</h1>
+        {{ content }}
+      </article>
+    </div>
+
+    <div class="clear"></div>
+
+  </div>
+</section>

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/_sass/_font-awesome.scss
----------------------------------------------------------------------
diff --git a/_sass/_font-awesome.scss b/_sass/_font-awesome.scss
new file mode 100644
index 0000000..d90676c
--- /dev/null
+++ b/_sass/_font-awesome.scss
@@ -0,0 +1,25 @@
+/*!
+ *  Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome
+ *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
+ */
+@font-face {
+  font-family: 'FontAwesome';
+  src: url('../fonts/fontawesome-webfont.eot?v=4.2.0');
+  src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');
+  font-weight: normal;
+  font-style: normal;
+}
+.fa {
+  display: inline-block;
+  font: normal normal normal 14px/1 FontAwesome;
+  font-size: inherit;
+  text-rendering: auto;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+.fa-link:before {
+  content: "\f0c1";
+}
+.fa-pencil:before {
+  content: "\f040";
+}

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/_sass/_gridism.scss
----------------------------------------------------------------------
diff --git a/_sass/_gridism.scss b/_sass/_gridism.scss
new file mode 100644
index 0000000..61698ef
--- /dev/null
+++ b/_sass/_gridism.scss
@@ -0,0 +1,124 @@
+/*
+ * Gridism
+ * A simple, responsive, and handy CSS grid by @cobyism
+ * https://github.com/cobyism/gridism
+ */
+
+/* Preserve some sanity */
+.grid,
+.unit {
+  -webkit-box-sizing: border-box;
+  -moz-box-sizing: border-box;
+  box-sizing: border-box;
+}
+
+/* Set up some rules to govern the grid */
+.grid {
+  display: block;
+  clear: both;
+}
+.grid .unit {
+  float: left;
+  width: 100%;
+  padding: 10px;
+}
+
+/* This ensures the outer gutters are equal to the (doubled) inner gutters. */
+.grid .unit:first-child { padding-left: 20px; }
+.grid .unit:last-child { padding-right: 20px; }
+
+/* Nested grids already have padding though, so let’s nuke it */
+.unit .unit:first-child { padding-left: 0; }
+.unit .unit:last-child { padding-right: 0; }
+.unit .grid:first-child > .unit { padding-top: 0; }
+.unit .grid:last-child > .unit { padding-bottom: 0; }
+
+/* Let people nuke the gutters/padding completely in a couple of ways */
+.no-gutters .unit,
+.unit.no-gutters {
+  padding: 0 !important;
+}
+
+/* Wrapping at a maximum width is optional */
+.wrap .grid,
+.grid.wrap {
+  max-width: 978px;
+  margin: 0 auto;
+}
+
+/* Width classes also have shorthand versions numbered as fractions
+ * For example: for a grid unit 1/3 (one third) of the parent width,
+ * simply apply class="w-1-3" to the element. */
+.grid .whole,          .grid .w-1-1 { width: 100%; }
+.grid .half,           .grid .w-1-2 { width: 50%; }
+.grid .one-third,      .grid .w-1-3 { width: 33.3332%; }
+.grid .two-thirds,     .grid .w-2-3 { width: 66.6665%; }
+.grid .one-quarter,
+.grid .one-fourth,     .grid .w-1-4 { width: 25%; }
+.grid .three-quarters,
+.grid .three-fourths,  .grid .w-3-4 { width: 75%; }
+.grid .one-fifth,      .grid .w-1-5 { width: 20%; }
+.grid .two-fifths,     .grid .w-2-5 { width: 40%; }
+.grid .three-fifths,   .grid .w-3-5 { width: 60%; }
+.grid .four-fifths,    .grid .w-4-5 { width: 80%; }
+.grid .golden-small,   .grid .w-g-s { width: 38.2716%; } /* Golden section: smaller piece */
+.grid .golden-large,   .grid .w-g-l { width: 61.7283%; } /* Golden section: larger piece */
+
+/* Clearfix after every .grid */
+.grid {
+  *zoom: 1;
+}
+.grid:before, .grid:after {
+  display: table;
+  content: "";
+  line-height: 0;
+}
+.grid:after {
+  clear: both;
+}
+
+/* Utility classes */
+.align-center { text-align: center; }
+.align-left   { text-align: left; }
+.align-right  { text-align: right; }
+.pull-left    { float: left; }
+.pull-right   { float: right; }
+
+/* A property for a better rendering of images in units: in
+   this way bigger pictures are just resized if the unit
+   becomes smaller */
+.unit img {
+  max-width: 100%;
+}
+
+/* Responsive Stuff */
+@media screen and (max-width: 568px) {
+  /* Stack anything that isn’t full-width on smaller screens 
+     and doesn't provide the no-stacking-on-mobiles class */
+  .grid:not(.no-stacking-on-mobiles) > .unit {
+    width: 100% !important;
+    padding-left: 20px;
+    padding-right: 20px;
+  }
+  .unit .grid .unit {
+    padding-left: 0px;
+    padding-right: 0px;
+  }
+
+  /* Sometimes, you just want to be different on small screens */
+  .center-on-mobiles {
+    text-align: center !important;
+  }
+  .hide-on-mobiles {
+    display: none !important;
+  }
+}
+
+/* Expand the wrap a bit further on larger screens */
+@media screen and (min-width: 1180px) {
+  .wider .grid,
+  .grid.wider {
+    max-width: 1180px;
+    margin: 0 auto;
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/_sass/_mixins.scss
----------------------------------------------------------------------
diff --git a/_sass/_mixins.scss b/_sass/_mixins.scss
new file mode 100644
index 0000000..5b9bb43
--- /dev/null
+++ b/_sass/_mixins.scss
@@ -0,0 +1,38 @@
+@mixin box-shadow($shadow...) {
+  -webkit-box-shadow: $shadow;
+     -moz-box-shadow: $shadow;
+          box-shadow: $shadow;
+}
+
+@mixin border-radius($radius...) {
+  -webkit-border-radius: $radius;
+     -moz-border-radius: $radius;
+          border-radius: $radius;
+}
+
+@mixin border-top-left-radius($radius...) {
+  -webkit-border-top-left-radius: $radius;
+     -moz-border-radius-topleft:  $radius;
+          border-top-left-radius: $radius;
+}
+
+@mixin border-top-right-radius($radius...) {
+  -webkit-border-top-right-radius: $radius;
+     -moz-border-radius-topright:  $radius;
+          border-top-right-radius: $radius;
+}
+
+@mixin transition($transition...) {
+  -webkit-transition: $transition;
+     -moz-transition: $transition;
+       -o-transition: $transition;
+          transition: $transition;
+}
+
+@mixin user-select($select...) {
+  -webkit-user-select: $select;    /* Chrome all / Safari all */
+     -moz-user-select: $select;    /* Firefox all */
+      -ms-user-select: $select;    /* IE 10+ */
+       -o-user-select: $select;
+          user-select: $select;
+}

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/_sass/_normalize.scss
----------------------------------------------------------------------
diff --git a/_sass/_normalize.scss b/_sass/_normalize.scss
new file mode 100644
index 0000000..f6e0b65
--- /dev/null
+++ b/_sass/_normalize.scss
@@ -0,0 +1 @@
+/*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{
 color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/_sass/_pygments.scss
----------------------------------------------------------------------
diff --git a/_sass/_pygments.scss b/_sass/_pygments.scss
new file mode 100644
index 0000000..2858bcd
--- /dev/null
+++ b/_sass/_pygments.scss
@@ -0,0 +1,78 @@
+.highlight {
+  .hll { background-color: #ffffcc }
+  .c { color: #87ceeb} /* Comment */
+  .err { color: #ffffff} /* Error */
+  .g { color: #ffffff} /* Generic */
+  .k { color: #f0e68c} /* Keyword */
+  .l { color: #ffffff} /* Literal */
+  .n { color: #ffffff} /* Name */
+  .o { color: #ffffff} /* Operator */
+  .x { color: #ffffff} /* Other */
+  .p { color: #ffffff} /* Punctuation */
+  .cm { color: #87ceeb} /* Comment.Multiline */
+  .cp { color: #cd5c5c} /* Comment.Preproc */
+  .c1 { color: #87ceeb} /* Comment.Single */
+  .cs { color: #87ceeb} /* Comment.Special */
+  .gd { color: #0000c0; font-weight: bold; background-color: #008080 } /* Generic.Deleted */
+  .ge { color: #c000c0; text-decoration: underline} /* Generic.Emph */
+  .gr { color: #c0c0c0; font-weight: bold; background-color: #c00000 } /* Generic.Error */
+  .gh { color: #cd5c5c} /* Generic.Heading */
+  .gi { color: #ffffff; background-color: #0000c0 } /* Generic.Inserted */
+  span.go { color: #add8e6; font-weight: bold; background-color: #4d4d4d } /* Generic.Output, qualified with span to prevent applying this style to the Go language, see #1153. */
+  .gp { color: #ffffff} /* Generic.Prompt */
+  .gs { color: #ffffff} /* Generic.Strong */
+  .gu { color: #cd5c5c} /* Generic.Subheading */
+  .gt { color: #c0c0c0; font-weight: bold; background-color: #c00000 } /* Generic.Traceback */
+  .kc { color: #f0e68c} /* Keyword.Constant */
+  .kd { color: #f0e68c} /* Keyword.Declaration */
+  .kn { color: #f0e68c} /* Keyword.Namespace */
+  .kp { color: #f0e68c} /* Keyword.Pseudo */
+  .kr { color: #f0e68c} /* Keyword.Reserved */
+  .kt { color: #bdb76b} /* Keyword.Type */
+  .ld { color: #ffffff} /* Literal.Date */
+  .m { color: #ffffff} /* Literal.Number */
+  .s { color: #ffffff} /* Literal.String */
+  .na { color: #ffffff} /* Name.Attribute */
+  .nb { color: #ffffff} /* Name.Builtin */
+  .nc { color: #ffffff} /* Name.Class */
+  .no { color: #ffa0a0} /* Name.Constant */
+  .nd { color: #ffffff} /* Name.Decorator */
+  .ni { color: #ffdead} /* Name.Entity */
+  .ne { color: #ffffff} /* Name.Exception */
+  .nf { color: #ffffff} /* Name.Function */
+  .nl { color: #ffffff} /* Name.Label */
+  .nn { color: #ffffff} /* Name.Namespace */
+  .nx { color: #ffffff} /* Name.Other */
+  .py { color: #ffffff} /* Name.Property */
+  .nt { color: #f0e68c} /* Name.Tag */
+  .nv { color: #98fb98} /* Name.Variable */
+  .ow { color: #ffffff} /* Operator.Word */
+  .w { color: #ffffff} /* Text.Whitespace */
+  .mf { color: #ffffff} /* Literal.Number.Float */
+  .mh { color: #ffffff} /* Literal.Number.Hex */
+  .mi { color: #ffffff} /* Literal.Number.Integer */
+  .mo { color: #ffffff} /* Literal.Number.Oct */
+  .sb { color: #ffffff} /* Literal.String.Backtick */
+  .sc { color: #ffffff} /* Literal.String.Char */
+  .sd { color: #ffffff} /* Literal.String.Doc */
+  .s2 { color: #ffffff} /* Literal.String.Double */
+  .se { color: #ffffff} /* Literal.String.Escape */
+  .sh { color: #ffffff} /* Literal.String.Heredoc */
+  .si { color: #ffffff} /* Literal.String.Interpol */
+  .sx { color: #ffffff} /* Literal.String.Other */
+  .sr { color: #ffffff} /* Literal.String.Regex */
+  .s1 { color: #ffffff} /* Literal.String.Single */
+  .ss { color: #ffffff} /* Literal.String.Symbol */
+  .bp { color: #ffffff} /* Name.Builtin.Pseudo */
+  .vc { color: #98fb98} /* Name.Variable.Class */
+  .vg { color: #98fb98} /* Name.Variable.Global */
+  .vi { color: #98fb98} /* Name.Variable.Instance */
+  .il { color: #ffffff} /* Literal.Number.Integer.Long */
+  .bash .nv {
+    -webkit-user-select: none;
+       -moz-user-select: none;
+        -ms-user-select: none;
+         -o-user-select: none;
+            user-select: none;
+  }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/css/screen.scss
----------------------------------------------------------------------
diff --git a/css/screen.scss b/css/screen.scss
new file mode 100644
index 0000000..3a2aae5
--- /dev/null
+++ b/css/screen.scss
@@ -0,0 +1,1003 @@
+---
+---
+
+@import "mixins";
+@import "normalize";
+@import "gridism";
+@import "pygments";
+@import "font-awesome";
+
+/* Base */
+
+* {
+  -webkit-box-sizing: border-box;
+  -moz-box-sizing: border-box;
+  box-sizing: border-box;
+}
+
+body {
+  font: 300 21px Lato, 'Helvetica Neue', Helvetica, Arial, sans-serif;
+  color: #ddd;
+  background-color: #333;
+  border-top: 5px solid {{ site.highlight_color }};
+  @include box-shadow(inset 0 3px 30px rgba(0,0,0,.3));
+  text-shadow: 0 1px 3px rgba(0,0,0,.5);
+  -webkit-font-feature-settings: "kern" 1;
+  -moz-font-feature-settings: "kern" 1;
+  -o-font-feature-settings: "kern" 1;
+  font-feature-settings: "kern" 1;
+  font-kerning: normal;
+}
+
+.clear {
+  display: block;
+}
+
+.clear:after {
+  content: " ";
+  display: block;
+  height: 0;
+  clear: both;
+  visibility: hidden;
+}
+
+.logo {
+  padding-top: 8px;
+}
+
+.grid .titlehead {
+  background: #444; 
+  padding: 40px 20px 50px; 
+  text-align: center; 
+  text-transform: uppercase;
+  font-size: 50px;
+}
+
+/* Sections */
+
+header,
+section,
+footer {
+  float: left;
+  width: 100%;
+  clear: both;
+}
+
+/* Header */
+
+header {
+
+  h1,
+  nav { display: inline-block; }
+
+}
+
+nav {
+
+  ul {
+    padding: 0;
+    margin: 0;
+  }
+
+  li { display: inline-block; }
+}
+
+.main-nav {
+  margin-top: 52px;
+
+  li {
+    margin-right: 10px;
+
+    a {
+      @include border-radius(10px);
+      font-weight: 900;
+      font-size: 14px;
+      padding: 0.5em 1em;
+      text-shadow: none;
+      text-transform: uppercase;
+      @include transition(all .25s);
+
+      &:hover {
+        background-color: #252525;
+        // @include box-shadow(inset 0 1px 3px rgba(0,0,0,.5), 0 1px 0 rgba(255,255,255,.1));
+        // text-shadow: 0 1px 3px rgba(0,0,0,.5);
+      }
+    }
+
+    &.current {
+
+      a {
+        background-color: {{ site.highlight_color }};
+        color: #222;
+        // @include box-shadow(inset 0 1px 0 rgba(255,255,255,.5), 0 1px 5px rgba(0,0,0,.5));
+        // text-shadow: 0 1px 0 rgba(255,255,255,.3);
+      }
+    }
+  }
+}
+
+.mobile-nav {
+
+  ul {
+    overflow: hidden;
+    width: 100%;
+    display: table;
+  }
+
+  a {
+    float: left;
+    width: 100%;
+    background-color: #333;
+    color: {{ site.highlight_color }};
+    text-align: center;
+    text-transform: uppercase;
+    font-size: 14px;
+    font-weight: 900;
+    padding: 5px;
+    @include border-radius(5px);
+  }
+
+  li {
+    display: table-cell;
+    width: 20%;
+    padding: 8px 2px;
+  }
+
+  .current {
+
+    a {
+      background-color: {{ site.highlight_color }};
+      color: #222;
+      @include box-shadow(inset 0 1px 0 rgba(255,255,255,.5), 0 1px 5px rgba(0,0,0,.5));
+      text-shadow: 0 1px 0 rgba(255,255,255,.3);
+    }
+  }
+}
+
+/*
+ * This code is courtesy Ben Balter, modified by Parker Moore.
+ * http://ben.balter.com/2014/03/13/pages-anchor-links/
+ */
+.header-link {
+  position: relative;
+  left: 0.5em;
+  opacity: 0;
+  font-size: 0.8em;
+  @include transition(opacity 0.2s ease-in-out 0.1s);
+}
+h2:hover .header-link,
+h3:hover .header-link,
+h4:hover .header-link,
+h5:hover .header-link,
+h6:hover .header-link {
+  opacity: 1;
+}
+
+@media (max-width: 768px) {
+  .main-nav ul {
+    text-align: right;
+  }
+}
+@media (max-width: 830px) {
+  .main-nav {
+    .show-on-mobiles { display: inline; }
+    .hide-on-mobiles { display: none; }
+  }
+}
+
+/* Footer */
+
+footer {
+  background-color: #212121;
+  font-size: 16px;
+  padding-bottom: 5px;
+  color: #c0c0c0;
+  margin-top: 40px;
+
+  a {
+    color: #fff;
+
+    &:hover {
+
+      img { opacity: 1; }
+    }
+  }
+
+  p {
+    max-width: 800px;
+    margin-left: auto;
+    margin-right: auto;
+  }
+
+  .align-right {
+
+    p { display: inline-block; }
+  }
+
+  img {
+    display: inline-block;
+    position: relative;
+    top: 8px;
+    margin-left: 5px;
+    opacity: .8;
+    padding: 1px;
+    @include transition(opacity .2s);
+  }
+}
+
+@media (max-width: 568px) {
+  footer {
+    .one-third p { margin-bottom: 0; }
+    .two-thirds p { margin-top: -20px; }
+  }
+}
+
+/* Intro */
+
+.intro {
+
+  .unit { padding: 10px 0 40px; }
+
+  p {
+    font-size: 1.75em;
+    line-height: 1em;
+    margin: 0;
+  }
+}
+
+@media (min-width: 569px) {
+  .intro p { font-size: 3.2em; }
+}
+
+/* Quickstart */
+
+.quickstart {
+  background-color: #3F1F1F;
+  color: #fff;
+  margin: 60px 0;
+  @include box-shadow(inset 0 3px 10px rgba(0,0,0,.4));
+
+  .content { padding: 0; }
+
+  h3 {
+    font-size: 24px;
+    line-height: 24px;
+    margin-top: 20px;
+    text-shadow: 0 1px 3px rgba(0,0,0,.8);
+  }
+
+  .code {
+    font-size: 12px;
+    display: block;
+    margin: 0 0 -30px;
+  }
+}
+
+@media (min-width: 768px) {
+  .quickstart {
+
+    .code {
+      font-size: 18px;
+      margin: -30px 0;
+      float: right;
+    }
+
+    h3 {
+      margin: 50px 0 0;
+      text-align: center;
+    }
+  }
+}
+
+/* Code */
+
+.quickstart {
+
+  .code {
+    display: block;
+    padding: 0;
+    font-family: Menlo, Consolas, "Courier New", Courier, "Liberation Mono", monospace;
+    line-height: 1.3em;
+
+    .title {
+      display: block;
+      text-align: center;
+      margin: 0 20px;
+      padding: 5px 0;
+      @include border-radius(5px 5px 0 0);
+      @include box-shadow(0 3px 10px rgba(0,0,0,.5));
+      font: 400 16px/24px 'Helvetica Neue', Helvetica, Arial, sans-serif;
+      color: #444;
+      text-shadow: 0 1px 0 rgba(255,255,255,.5);
+      background-color: #f7f7f7;
+      background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Y3ZjdmNyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjclIiBzdG9wLWNvbG9yPSIjY2ZjZmNmIiBzdG9wLW9wYWNpdHk9IjEiLz4KICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2FhYWFhYSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgPC9saW5lYXJHcmFkaWVudD4KICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJ1cmwoI2dyYWQtdWNnZy1nZW5lcmF0ZWQpIiAvPgo8L3N2Zz4=);
+      background-image: -webkit-gradient(linear, left top, left bottom, from(#f7f7f7), color-stop(7%, #cfcfcf), to(#aaaaaa));
+      background-image: -webkit-linear-gradient(top, #f7f7f7 0%, #cfcfcf 7%, #aaaaaa 100%);
+      background-image: -moz-linear-gradient(top, #f7f7f7 0%, #cfcfcf 7%, #aaaaaa 100%);
+      background-image: -o-linear-gradient(top, #f7f7f7 0%, #cfcfcf 7%, #aaaaaa 100%);
+      background-image: linear-gradient(top, #f7f7f7 0%,#cfcfcf 7%,#aaaaaa 100%);
+      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7f7f7', endColorstr='#aaaaaa',GradientType=0 );
+      border-bottom: 1px solid #111;
+    }
+
+    .shell {
+      padding: 20px;
+      text-shadow: none;
+      margin: 0 20px;
+      background-color: #171717;
+      @include border-radius(0 0 5px 5px);
+      @include box-shadow(0 5px 30px rgba(0,0,0,.3));
+    }
+
+    .line {
+      display: block;
+      margin: 0;
+      padding: 0;
+
+      span { display: inline-block; }
+    }
+
+    .path {
+      color: #87ceeb;
+      @include user-select(none);
+    }
+
+    .prompt {
+      color: #cd5c5c;
+      -webkit-user-select: none;  /* Chrome all / Safari all */
+      -moz-user-select: none;     /* Firefox all */
+      -ms-user-select: none;      /* IE 10+ */
+      -o-user-select: none;
+      user-select: none;
+    }
+
+    .command { color: #f0e68c; }
+
+    .output { color: #888; }
+  }
+}
+
+@media (min-width: 768px) {
+  .free-hosting {
+
+    img {
+      float: left;
+      margin: -20px -30px -30px -50px;
+      width: 300px;
+      height: 251px;
+    }
+
+    .pane-content {
+      margin-top: 35px;
+      padding-right: 30px;
+    }
+
+    p,
+    a { font-size: 18px; }
+
+    .pane:after {
+      content: " ";
+      float: right;
+      background: url(../img/footer-arrow.png) top left no-repeat;
+      width: 73px;
+      height: 186px;
+      position: absolute;
+      right: 0;
+      bottom: -30px;
+    }
+  }
+}
+
+/* Article - Used for both docs and news */
+
+
+article {
+  background-color: #444;
+  @include border-radius(10px);
+  padding: 20px;
+  margin: 0 10px;
+  @include box-shadow(0 3px 10px rgba(0,0,0,.1));
+  font-size: 16px;
+}
+
+@media (max-width: 480px) {
+  article ul { padding-left: 20px; }
+}
+
+@media (max-width: 568px) {
+  article { margin: 0; }
+}
+
+@media (min-width: 768px) {
+  article {
+    padding: 40px 40px 30px;
+    font-size: 21px;
+  }
+}
+
+/* Right-side nav - used by both docs and news */
+
+aside {
+  padding-top: 30px;
+
+  h4 {
+    text-transform: uppercase;
+    font-size: 14px;
+    font-weight: 700;
+    padding: 0 0 10px 30px;
+    margin-left: -30px;
+    display: inline-block;
+    border-bottom: 1px solid #199ACF;
+  }
+
+  ul {
+    padding-left: 0;
+
+    &:first-child { margin-top: 0; }
+  }
+
+  li {
+    list-style-type: none;
+
+    a {
+      font-size: 16px;
+      position: relative
+    }
+
+    &.current a:before {
+      content: "";
+      border-color: transparent transparent transparent #444;
+      border-style: solid;
+      border-width: 10px;
+      width: 0;
+      height: 0;
+      position: absolute;
+      top: 0;
+      left: -30px;
+    }
+  }
+}
+
+/* Documentation */
+
+.docs {
+
+  article { min-height: 800px; }
+
+  .content { padding: 0; }
+}
+
+.section-nav {
+  text-align: center;
+  padding-top: 40px;
+  position: relative;
+  background: url(../img/article-footer.png) top center no-repeat;
+  margin: 40px -20px 10px;
+
+  > div { width: 49.5%; }
+
+  a,
+  span {
+    color: #fff;
+    font-size: 16px;
+    text-transform: uppercase;
+    font-weight: 700;
+    padding: 8px 12px 10px;
+    @include border-radius(5px);
+    /*border: 1px solid #333;*/
+    @include box-shadow(0 1px 3px rgba(0,0,0,.3), inset 0 1px 1px rgba(255,255,255,.5));
+    background-color: #767676;
+  }
+
+  a:hover {
+    color: #fff;
+    background-color: #888;
+  }
+
+  .next,
+  .prev { position: relative; }
+
+  .next:after,
+  .prev:before {
+    font-size: 36px;
+    color: #222;
+    font-weight: 900;
+    text-shadow: 0 1px 0 rgba(255,255,255,.4);
+    position: absolute;
+    top: -7px;
+  }
+
+  .next:after {
+    content: '\203A';
+    right: 10px;
+  }
+
+  .prev:before {
+    content: '\2039';
+    left: 10px;
+  }
+
+  .prev,
+  .prev:hover { padding-left: 30px; }
+
+  .next,
+  .next:hover { padding-right: 30px; }
+
+  .disabled {
+    opacity: .5;
+    cursor: default;
+  }
+}
+
+.improve {
+  padding-top: 25px;
+  font-size: 16px;
+  a {
+    color: #999;
+  }
+}
+
+.docs-nav-mobile select {
+  color: #000;
+  width: 100%;
+}
+
+/* News */
+
+article h2:first-child { margin-top: 0; }
+
+.post-category,
+.post-meta {
+  display: inline-block;
+  vertical-align: middle;
+  font-size: .8em;
+}
+
+.post-category {
+  display: inline-block;
+  margin-left: -30px;
+  padding: 6px 10px 8px;
+  padding-left: 50px;
+  @include border-radius(0 5px 5px 0);
+  position: relative;
+  @include box-shadow(0 1px 5px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255,255,255,.2), inset 0 -1px 0 rgba(0,0,0,.3));
+  background-color: #1B3850;
+  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzllMjgxMiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM2ZjBkMGQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#1B3850), to(#204c69));
+  background-image: -webkit-linear-gradient(top, #1B3850 0%, #204c69 100%);
+  background-image: -moz-linear-gradient(top, #1B3850 0%, #204c69 100%);
+  background-image: -o-linear-gradient(top, #1B3850 0%, #204c69 100%);
+  background-image: linear-gradient(to bottom, #1B3850 0%,#204c69 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1B3850', endColorstr='#204c69',GradientType=0 );
+
+  &:before {
+    content: "";
+    position: absolute;
+    top: -10px;
+    left: 0;
+    border-color: transparent #204c69 #204c69 transparent;
+    border-style: solid;
+    border-width: 5px;
+    width: 0;
+    height: 0;
+  }
+}
+
+.post-content img { max-width: 100% }
+
+.label {
+  float: left;
+  text-transform: uppercase;
+  font-weight: 700;
+  text-shadow: 0 -1px 0 rgba(0,0,0,.5);
+}
+
+@media (max-width: 568px) {
+  .post-category { padding-left: 30px; }
+}
+
+@media (min-width: 768px) {
+  .post-category { margin-left: -50px; }
+}
+
+.avatar {
+  @include border-radius(3px);
+  display: inline-block;
+  vertical-align: middle;
+}
+
+.post-meta {
+  padding: 5px 0;
+  color: #c0c0c0;
+  font-weight: 600;
+  text-shadow: 0 -1px 0 #000;
+}
+
+.post-date,
+.post-author { margin-left: 10px; }
+
+.news article + article {
+  margin-top: -10px;
+  @include border-radius(0 0 10px 10px);
+  border-top: 1px solid #555;
+  @include box-shadow(0 -1px 0 #2f2f2f);
+}
+
+/* Code Highlighting */
+
+
+pre,
+code {
+  white-space: pre;
+  display: inline-block;
+  margin: 0;
+  font: 14px/1.8em Menlo, Consolas, "Courier New", Courier, "Liberation Mono", monospace;
+  padding: 0 0.5em;
+}
+
+@media (min-width: 768px) {
+  pre, code { font-size: 16px; }
+}
+
+.highlight,
+p > pre,
+p > code,
+p > nobr > code,
+li > code,
+h5 > code,
+.note > code {
+  background-color: #2b2b2b;
+  color: #fff;
+  @include border-radius(5px);
+  @include box-shadow(inset 0 1px 10px rgba(0,0,0,.3),
+    0 1px 0 rgba(255,255,255,.1),
+    0 -1px 0 rgba(0,0,0,.5));
+}
+
+.note code {
+  background-color: #333;
+  background-color: rgba(0,0,0,0.2);
+  margin-left: 2.5px;
+  margin-right: 2.5px;
+  font-size: 0.8em;
+}
+
+.highlight {
+  margin: 1em 0;
+  padding: 10px 0;
+  width: 100%;
+  overflow: auto;
+}
+
+/* HTML Elements */
+
+h1, h2, h3, h4, h5, h6 { margin: 0; }
+
+a {
+  color: {{ site.highlight_color }};
+  text-decoration: none;
+  @include transition(all .25s);
+
+  &:hover { color: {{ site.highlight_color}}; }
+}
+
+strong { font-weight: 700; }
+
+p { line-height: 1.5em; }
+
+.left { float: left; }
+.right { float: right; }
+.align-right { text-align: right; }
+.align-left { text-align: left; }
+.align-center { text-align: center; }
+
+/* Article HTML */
+
+article {
+
+  h2, h3, h4, h5, h6 { margin: 1em 0; }
+
+  h4 { color: #fff; }
+
+  ul li {
+
+    p { margin: 0; }
+
+    blockquote { margin: 10px 0; }
+  }
+
+  ul li,
+  ol li {
+    line-height: 1.5em;
+    margin-bottom: 0.5em;
+  }
+
+}
+
+h5, h6 {
+  font-size: 1em;
+  font-style: italic;
+}
+
+blockquote {
+  border-left: 2px solid #777;
+  padding-left: 20px;
+  font-style: italic;
+  font-size: 18px;
+  font-weight: 500;
+}
+
+
+/* Tables */
+
+table {
+  width: 100%;
+  background-color: #555;
+  margin: .5em 0;
+  @include border-radius(5px);
+  @include box-shadow(0 1px 3px rgba(0,0,0,.3));
+}
+
+thead {
+  @include border-top-left-radius(5px);
+  @include border-top-right-radius(5px);
+  color: #fff;
+  background-color: #3a3a3a;
+  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzNhM2EzYSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMxZTFlMWUiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#3a3a3a), to(#1e1e1e));
+  background-image: -webkit-linear-gradient(top, #3a3a3a 0%, #1e1e1e 100%);
+  background-image: -moz-linear-gradient(top, #3a3a3a 0%, #1e1e1e 100%);
+  background-image: -o-linear-gradient(top, #3a3a3a 0%, #1e1e1e 100%);
+  background-image: linear-gradient(to bottom, #3a3a3a 0%,#1e1e1e 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3a3a3a', endColorstr='#1e1e1e',GradientType=0 );
+
+  th {
+    position: relative;
+    @include box-shadow(inset 0 1px 0 rgba(255,255,255,.1));
+
+    &:first-child {
+      @include border-top-left-radius(5px);
+    }
+
+    &:last-child {
+      @include border-top-right-radius(5px);
+    }
+  }
+}
+
+td { padding: .5em .75em; }
+
+td p { margin: 0; }
+
+th {
+  text-transform: uppercase;
+  font-size: 16px;
+  padding: .5em .75em;
+  text-shadow: 0 -1px 0 rgba(0,0,0,.9);
+  color: #888;
+}
+
+tbody td {
+  border-top: 1px solid #747474;
+  border-top: 1px solid rgba(0,0,0,.1);
+  @include box-shadow(inset 0 1px 0 rgba(255,255,255,.1));
+  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjEiLz4KICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgPC9saW5lYXJHcmFkaWVudD4KICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJ1cmwoI2dyYWQtdWNnZy1nZW5lcmF0ZWQpIiAvPgo8L3N2Zz4=);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255,255,255,0.1)), to(rgba(255,255,255,0)));
+  background-image: -webkit-linear-gradient(top, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 100%);
+  background-image: -moz-linear-gradient(top, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 100%);
+  background-image: -o-linear-gradient(top, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 100%);
+  background-image: linear-gradient(to bottom, rgba(255,255,255,0.1) 0%,rgba(255,255,255,0) 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1affffff', endColorstr='#00ffffff',GradientType=0 );
+
+  p {
+    font-size: 16px;
+
+    code { font-size: 14px; }
+  }
+}
+
+code.option,
+th .option,
+code.filter,
+th .filter {
+  color: #50B600;
+}
+
+code.flag,
+th .flag,
+code.output,
+th .output {
+  color: #049DCE;
+}
+
+code.option,
+code.flag,
+code.filter,
+code.output {
+  margin-bottom: 2px;
+}
+
+/* Note types */
+
+.note {
+  margin: 30px 0;
+  margin-left: -30px;
+  padding: 20px 20px 24px;
+  padding-left: 50px;
+  @include border-radius(0 5px 5px 0);
+  position: relative;
+  @include box-shadow(0 1px 5px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255,255,255,.2), inset 0 -1px 0 rgba(0,0,0,.3));
+  background-color: #7e6d42;
+  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzdlNmQ0MiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM1YzRlMzUiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#7e6d42), to(#5c4e35));
+  background-image: -webkit-linear-gradient(top, #7e6d42 0%, #5c4e35 100%);
+  background-image: -moz-linear-gradient(top, #7e6d42 0%, #5c4e35 100%);
+  background-image: -o-linear-gradient(top, #7e6d42 0%, #5c4e35 100%);
+  background-image: linear-gradient(to bottom, #7e6d42 0%,#5c4e35 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7e6d42', endColorstr='#5c4e35',GradientType=0 );
+}
+
+@media (max-width: 568px) {
+  .note { margin-right: -30px; }
+}
+
+@media (min-width: 768px) {
+  .note { margin-left: -50px; }
+}
+
+.configtable {
+    font-size: 14px;
+}
+
+.note {
+  &:before {
+    content: "";
+    position: absolute;
+    top: -10px;
+    left: 0;
+    border-color: transparent #222 #222 transparent;
+    border-style: solid;
+    border-width: 5px;
+    width: 0;
+    height: 0;
+  }
+
+  h5,
+  p {
+    margin: 0;
+    color: #fff;
+  }
+
+  h5 {
+    line-height: 1.5em;
+    font-weight: 900;
+    font-style: normal;
+  }
+
+  p {
+    font-weight: 400;
+    font-size: .75em;
+  }
+
+  &:after {
+    content: '\2605';
+    color: {{ site.highlight_color }};
+    position: absolute;
+    top: 14px;
+    left: 14px;
+    font-size: 28px;
+    font-weight: 700;
+    text-shadow: 0 -1px 0 rgba(0,0,0,.5);
+  }
+}
+
+.info {
+  background-color: #0389aa;
+  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAzODlhYSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDYxN2YiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#0389aa), to(#00617f));
+  background-image: -webkit-linear-gradient(top, #0389aa 0%, #00617f 100%);
+  background-image: -moz-linear-gradient(top, #0389aa 0%, #00617f 100%);
+  background-image: -o-linear-gradient(top, #0389aa 0%, #00617f 100%);
+  background-image: linear-gradient(to bottom, #0389aa 0%,#00617f 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0389aa', endColorstr='#00617f',GradientType=0 );
+}
+
+.warning {
+  background-color: #1B3850;
+  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzllMjgxMiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM2ZjBkMGQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#1B3850), to(#204c69));
+  background-image: -webkit-linear-gradient(top, #1B3850 0%, #204c69 100%);
+  background-image: -moz-linear-gradient(top, #1B3850 0%, #204c69 100%);
+  background-image: -o-linear-gradient(top, #1B3850 0%, #204c69 100%);
+  background-image: linear-gradient(to bottom, #1B3850 0%,#204c69 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1B3850', endColorstr='#204c69',GradientType=0 );
+}
+
+.unreleased {
+  background-color: #cd9239;
+  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2NkOTIzOSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNhMjc1MjgiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(205,146,57,1)), to(rgba(162,117,40,1)));
+  background-image: -webkit-linear-gradient(top, rgba(205,146,57,1) 0%, rgba(162,117,40,1) 100%);
+  background-image: -moz-linear-gradient(top, rgba(205,146,57,1) 0%, rgba(162,117,40,1) 100%);
+  background-image: -o-linear-gradient(top, rgba(205,146,57,1) 0%, rgba(162,117,40,1) 100%);
+  background-image: linear-gradient(to bottom, rgba(205,146,57,1) 0%,rgba(162,117,40,1) 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cd9239', endColorstr='#a27528',GradientType=0 );
+}
+
+.info:before { border-color: transparent #00617f #00617f transparent; }
+
+.warning:before { border-color: transparent #204c69 #204c69 transparent; }
+
+.unreleased:before { border-color: transparent #664719 #664719 transparent; }
+
+.info:after {
+  content: '\24D8';
+  color: #fff;
+  position: absolute;
+  top: 15px;
+  left: 15px;
+  font-size: 28px;
+  font-weight: 700;
+  text-shadow: 0 -1px 0 rgba(0,0,0,.5);
+}
+
+.warning:after {
+  content: '\203C';
+  color: {{ site.highlight_color }};
+  position: absolute;
+  top: 15px;
+  left: 15px;
+  font-size: 32px;
+  font-weight: 700;
+  text-shadow: 0 -1px 0 rgba(0,0,0,.5);
+}
+
+.unreleased:after {
+  content: '\2692';
+  color: #2b2a12;
+  position: absolute;
+  top: 8px;
+  left: 15px;
+  font-size: 38px;
+  font-weight: 700;
+  text-shadow: 0 1px 0 rgba(255,255,255,.25);
+}
+
+/* Responsive tables */
+
+@media (max-width: 768px) {
+  .mobile-side-scroller {
+    overflow-x: scroll;
+    margin: 0 -40px;
+    padding: 0 10px;
+  }
+}
+
+
+.show-on-mobiles {
+  display: none;
+}
+
+@media screen and (max-width: 568px) {
+  .show-on-mobiles {
+    display: block !important;
+  }
+  a .show-on-mobiles {
+    display: inline !important;
+  }
+}
+
+
+/* Helper class taken from Bootstrap.
+   Hides an element to all devices except screen readers.
+*/
+.sr-only {
+  position: absolute;
+  width: 1px;
+  height: 1px;
+  padding: 0;
+  margin: -1px;
+  overflow: hidden;
+  clip: rect(0, 0, 0, 0);
+  border: 0;
+}

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/develop/bylaws.md
----------------------------------------------------------------------
diff --git a/develop/bylaws.md b/develop/bylaws.md
new file mode 100644
index 0000000..922de2a
--- /dev/null
+++ b/develop/bylaws.md
@@ -0,0 +1,281 @@
+---
+layout: page
+title: Apache Mnemonic Bylaws
+---
+
+## Introduction
+
+This document defines the bylaws under which the Apache mnemonic project
+operates. It defines the roles and responsibilities of the project,
+who may vote, how voting works, how conflicts are resolved, etc.
+
+mnemonic is a project of the Apache Software Foundation (ASF) and the foundation
+holds the trademark on the name "mnemonic" and copyright on the combined
+code base. The [Apache Foundation
+FAQ](http://www.apache.org/foundation/faq.html) and
+[How-It-Works](http://www.apache.org/foundation/how-it-works.html)
+explain the operation and background of the foundation.
+
+Apache has a [code of
+conduct](http://www.apache.org/foundation/policies/conduct.html) that
+it expects its members to follow. In particular:
+
+* Be **open and welcoming**. It is important that we grow and
+  encourage the community of users and developers for our project.
+
+* Be **collaborative**. Working together on the open mailing lists and
+  bug database to make decisions helps the project grow.
+
+* Be **respectful** of others. Everyone is volunteering their time and
+  efforts to work on this project. Please be respectful of everyone
+  and their views.
+
+mnemonic is typical of Apache projects in that it operates under a set of
+principles, known collectively as the "Apache Way". If you are new to
+Apache development, please refer to the [Incubator
+project](http://incubator.apache.org/) for more
+information on how Apache projects operate.
+
+## Roles and Responsibilities
+
+Apache projects define a set of roles with associated rights and
+responsibilities. These roles govern what tasks an individual may
+perform within the project. The roles are defined in the following
+sections.
+
+### Users
+
+The most important participants in the project are people who use our
+software. The majority of our developers start out as users and guide
+their development efforts from the user's perspective.  Users
+contribute to the Apache projects by providing feedback to developers
+in the form of bug reports and feature suggestions. As well, users
+participate in the Apache community by helping other users on mailing
+lists and user support forums.
+
+### Contributors
+
+Contributors include all of the volunteers who donate time, code,
+documentation,
+or resources to the mnemonic Project. A contributor that makes sustained,
+welcome contributions to the project may be invited to become a
+committer, though the exact timing of such invitations depends on many
+factors.
+
+### Committers
+
+The project's committers are responsible for the project's technical
+management. Committers have the right to commit to the project's git
+repository. Committers may cast binding votes on any technical
+discussion.
+
+Committer access is by invitation only and must be approved by
+consensus approval of the active Project Management Committee (PMC)
+members.
+
+If a committer wishes to leave the project or does not contribute to
+the project in any form for six months, the PMC may make them emeritus.
+Emeritus committers lose their ability to commit code or cast binding
+votes. An emeritus committer may
+request reinstatement of commit access from the PMC. Such
+reinstatement is subject to consensus approval of active PMC members.
+
+All Apache committers are required to have a signed [Individual
+Contributor License
+Agreement](https://www.apache.org/licenses/icla.txt) (ICLA) on file
+with the Apache Software Foundation. There is a [Committer
+FAQ](http://www.apache.org/dev/committers.html) which provides more
+details on the requirements for Committers.
+
+A committer who makes a
+sustained contribution to the project may be invited to become a
+member of the PMC. The form of contribution
+is not limited to code. It can also include code review, helping out
+users on the mailing lists, documentation, testing, etc.
+
+### Release Manager
+
+A Release Manager (RM) is a committer who volunteers to produce a
+Release Candidate. The RM shall publish a Release Plan on the
+dev mailing list stating the branch from which they intend to
+make a Release Candidate.
+
+### Project Management Committee
+
+The Project Management Committee (PMC) for Apache mnemonic was created by
+the Apache Board in February 2016 when mnemonic moved out of Intel's github
+repositories and became an incubated project at Apache.
+The PMC is responsible to the board and
+the ASF for the management and oversight of the Apache mnemonic
+codebase. The responsibilities of the PMC include
+
+  * Deciding what is distributed as products of the Apache mnemonic
+    project. In particular all releases must be approved by the PMC.
+
+  * Maintaining the project's shared resources, including the codebase
+    repository, mailing lists, and websites.
+
+  * Speaking on behalf of the project.
+
+  * Resolving license disputes regarding products of the project
+
+  * Nominating new PMC members and committers
+
+  * Maintaining these bylaws and other guidelines of the project
+
+Membership of the PMC is by invitation only and must be approved by a
+consensus approval of active PMC members.
+
+A PMC member is considered
+emeritus by their own declaration or by not contributing in any form
+to the project for over six months. An emeritus member may request
+reinstatement to the PMC. Such reinstatement is subject to consensus
+approval of the active PMC members.
+
+The chair of the PMC is appointed by the ASF board. The chair is an
+office holder of the Apache Software Foundation (Vice President,
+Apache mnemonic) and has primary responsibility to the board for the
+management of the project within the scope of the mnemonic PMC. The
+chair reports to the board quarterly on developments within the mnemonic
+project.
+
+When the project desires a new PMC chair, the PMC votes to recommend a
+new chair using [Single Transferable
+Vote](http://wiki.apache.org/general/BoardVoting) voting. The decision
+must be ratified by the Apache board.
+
+## Decision Making
+
+Within the mnemonic project, different types of decisions require
+different forms of approval. For example, the previous section
+describes several decisions which require "consensus approval."
+This section defines how voting is performed, the types of
+approvals, and which types of decision require which type of approval.
+
+### Voting
+
+Decisions regarding the project are made by votes on the primary
+project development mailing list (dev@mnemonic.apache.org). Where
+necessary, PMC voting may take place on the private mnemonic PMC mailing
+list. Votes are clearly indicated by subject line starting with
+[VOTE]. Votes may contain multiple items for approval and these should
+be clearly separated. Voting is carried out by replying to the vote
+mail. Voting may take five flavors:
+
+* **+1** -- "Yes," "Agree," or "the action should be performed." In general,
+  this vote also indicates a willingness on the behalf of the voter in
+  "making it happen."
+
+* **+0** -- This vote indicates a willingness for the action under
+  consideration to go ahead. The voter, however, will not be able to
+  help.
+
+* **0** -- The voter is neutral on the topic under discussion.
+
+* **-0** -- This vote indicates that the voter does not, in general, agree
+   with the proposed action but is not concerned enough to prevent the
+   action going ahead.
+
+* **-1** -- This is a negative vote. On issues where consensus is required,
+   this vote counts as a veto. All vetoes must contain an explanation
+   of why the veto is appropriate. Vetoes with no explanation are
+   void. It may also be appropriate for a -1 vote to include an
+   alternative course of action.
+
+All participants in the mnemonic project are encouraged to show their
+agreement for or against a particular action by voting, regardless of
+whether their vote is binding. Nonbinding votes are useful for
+encouraging discussion and understanding the scope of opinions within
+the project.
+
+### Approvals
+
+These are the types of approvals that can be sought. Different actions
+require different types of approvals.
+
+* **Consensus Approval** -- Consensus approval requires 3 binding +1
+  votes and no binding vetoes.
+
+* **Lazy Consensus** -- Lazy consensus requires at least one +1 vote and
+  no -1 votes ('silence gives assent').
+
+* **Lazy Majority** -- A lazy majority vote requires 3 binding +1 votes
+   and more binding +1 votes than -1 votes.
+
+* **Lazy 2/3 Majority** -- Lazy 2/3 majority votes requires at least 3
+  votes and twice as many +1 votes as -1 votes.
+
+### Vetoes
+
+A valid, binding veto cannot be overruled. If a veto is cast, it must
+be accompanied by a valid reason explaining the reasons for the
+veto. The validity of a veto, if challenged, can be confirmed by
+anyone who has a binding vote. This does not necessarily signify
+agreement with the veto - merely that the veto is valid.  If you
+disagree with a valid veto, you must lobby the person casting the veto
+to withdraw their veto. If a veto is not withdrawn, any action that
+has already been taken  must be reversed in a timely manner.
+
+### Actions
+
+This section describes the various actions which are undertaken within
+the project, the corresponding approval required for that action and
+those who have binding votes over the action.
+
+#### Code Change
+
+A change made to a codebase of the project requires *lazy consensus*
+of active committers other than the author of the patch. The code can
+be committed after the first +1.
+
+#### Product Release
+
+To make a release, the release manager creates a release candidate and
+a vote requiring a *lazy majority* of the active PMC members is
+required. Once the vote passes, the release candidate becomes an
+official release.
+
+#### Adoption of New Codebase
+
+When the codebase for an existing, released product is to be replaced
+with an alternative codebase, it requires a *lazy 2/3 majority* of PMC
+members. This also covers the creation of new sub-projects and
+submodules within the project.
+
+#### New Committer
+
+When a new committer is proposed for the project, *consensus approval*
+of the active PMC members is required.
+
+#### New PMC Member
+
+To promote a committer to a PMC member requires *consensus approval*
+of active PMC members.
+
+If the vote passes, the Apache Board must be notified to make the change
+official.
+
+#### Committer Removal
+
+Removal of commit privileges requires a *lazy 2/3 majority* of active
+PMC members.
+
+#### PMC Member Removal
+
+Removing a PMC member requires a *lazy 2/3 majority* of active PMC
+members, excluding the member in question.
+
+If the vote passes, the Apache Board must be notified to make the change
+official.
+
+#### Modifying Bylaws
+
+Modifying this document requires a *lazy majority* of active PMC members.
+
+### Voting Timeframes
+
+Votes are open for a minimum period of 72 hours to allow all active
+voters time to consider the vote. For holiday weekends or conferences,
+consider using a longer vote window. Votes relating to code changes are
+not subject to a strict timetable but should be made as timely as
+possible.

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/develop/coding.md
----------------------------------------------------------------------
diff --git a/develop/coding.md b/develop/coding.md
new file mode 100644
index 0000000..e256950
--- /dev/null
+++ b/develop/coding.md
@@ -0,0 +1,34 @@
+---
+layout: page
+title: Coding Guidelines
+---
+
+## General rules
+
+* All files must have an Apache copyright header at the top of the file.
+* Code should be removed rather than commented out.
+* All public functions should have javadoc comments.
+* Always use braces to surround branches.
+* try-finally should be avoided.
+
+## Formatting
+
+* All files must have an 80 character maximum line length.
+* Indentation should be 2 spaces.
+* Files should use spaces instead of tabs.
+* Wrapping lines
+  * Break after a comma.
+  * Break before an operator.
+  * Prefer higher-level breaks to lower-level breaks.
+  * Align the new line with beginning of the expression at the same level
+    on the previous line.
+  * If the above rules lead to confusing code, just indent 8 spaces.
+* One variable declaration per a line.
+
+## Naming
+
+* Packages should be all lowercase.
+  * Java code should be in `org.apache.,mnemonic`, except for compatibility classes
+* Classes should be in mixed case.
+* Variables should be in camel case.
+* Constants should be in upper case.

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/develop/index.md
----------------------------------------------------------------------
diff --git a/develop/index.md b/develop/index.md
new file mode 100644
index 0000000..d21568d
--- /dev/null
+++ b/develop/index.md
@@ -0,0 +1,50 @@
+---
+layout: page
+title: Developing
+---
+
+Information about the Mnemonic project that is most important for
+developers working on the project. The project has created
+[bylaws](bylaws.html) for itself.
+
+## Project Members
+
+Name                    | Apache Id      | Role
+:---------------------- | :------------- | :---
+Yanping Wang            | yanpingw      | PMC
+
+
+## Mailing Lists
+
+There are several development mailing lists for mnemonic
+
+* [dev@mnemonic.incubator.apache.org](mailto:dev@mnemonic.incubator.apache.org) - Development discussions
+  with archive [here](https://mail-archives.apache.org/mod_mbox/incubator-mnemonic-dev/)
+* [issues@mnemonic.incubator.apache.org](mailto:issues@mnemonic.incubator.apache.org) - Bug tracking
+  with archive [here](https://mail-archives.apache.org/mod_mbox/incubator-mnemonic-issues/)
+* [commits@mnemonic.incubator.apache.org](mailto:commits@mnemonic.incubator.apache.org) - Git tracking
+  with archive [here](https://mail-archives.apache.org/mod_mbox/incubator-mnemonic-commits/)
+
+You can subscribe to the lists by sending email to
+*list*-subscribe@mnemonic.incubator.apache.org and unsubscribe by sending email to
+*list*-unsubscribe@mnemonic.incubator.apache.org.
+
+## Source code
+
+mnemonic uses git for version control. Get the source code:
+
+`% git clone https://git-wip-us.apache.org/repos/asf/incubator-mnemonic.git`
+
+The important branches are:
+
+* [master](https://github.com/apache/incubator-mnemonic/tree/master) -
+  The trunk for all developement
+* [asf-site](https://github.com/apache/incubator-mnemonic/tree/asf-site) -
+  The pages that are deployed to https://mnemonic.apache.org/
+
+Please check our [coding guidelines](/develop/coding.html).
+
+## Reviews
+
+All code must be +1'ed by a committer other than the author prior to its
+commit.

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/downloads/index.md
----------------------------------------------------------------------
diff --git a/downloads/index.md b/downloads/index.md
new file mode 100644
index 0000000..f69595d
--- /dev/null
+++ b/downloads/index.md
@@ -0,0 +1,6 @@
+---
+layout: page
+title: Downloads
+---
+
+We haven't made any releases as a separate project yet.

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/favicon.ico
----------------------------------------------------------------------
diff --git a/favicon.ico b/favicon.ico
new file mode 100644
index 0000000..f3276bf
Binary files /dev/null and b/favicon.ico differ

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/feed.xml
----------------------------------------------------------------------
diff --git a/feed.xml b/feed.xml
new file mode 100644
index 0000000..a6628bd
--- /dev/null
+++ b/feed.xml
@@ -0,0 +1,30 @@
+---
+layout: null
+---
+<?xml version="1.0" encoding="UTF-8"?>
+<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
+  <channel>
+    <title>{{ site.title | xml_escape }}</title>
+    <description>{{ site.description | xml_escape }}</description>
+    <link>{{ site.url }}{{ site.baseurl }}/</link>
+    <atom:link href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}" rel="self" type="application/rss+xml"/>
+    <pubDate>{{ site.time | date_to_rfc822 }}</pubDate>
+    <lastBuildDate>{{ site.time | date_to_rfc822 }}</lastBuildDate>
+    <generator>Jekyll v{{ jekyll.version }}</generator>
+    {% for post in site.posts limit:10 %}
+      <item>
+        <title>{{ post.title | xml_escape }}</title>
+        <description>{{ post.content | xml_escape }}</description>
+        <pubDate>{{ post.date | date_to_rfc822 }}</pubDate>
+        <link>{{ post.url | prepend: site.baseurl | prepend: site.url }}</link>
+        <guid isPermaLink="true">{{ post.url | prepend: site.baseurl | prepend: site.url }}</guid>
+        {% for tag in post.tags %}
+        <category>{{ tag | xml_escape }}</category>
+        {% endfor %}
+        {% for cat in post.categories %}
+        <category>{{ cat | xml_escape }}</category>
+        {% endfor %}
+      </item>
+    {% endfor %}
+  </channel>
+</rss>

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/cbdf3730/fonts/fontawesome-webfont.eot
----------------------------------------------------------------------
diff --git a/fonts/fontawesome-webfont.eot b/fonts/fontawesome-webfont.eot
new file mode 100755
index 0000000..84677bc
Binary files /dev/null and b/fonts/fontawesome-webfont.eot differ