Repository: zeppelin
Updated Branches:
  refs/heads/master 3a1ab28df -> 85d4df4f0


[ZEPPELIN-1219] Add searching feature to Zeppelin docs site

### What is this PR for?
As more and more document pages are added, it's really hard to find specific 
pages. So I added searching feature to Zeppelin documentation 
site([jekyll](https://jekyllrb.com/) based site) using 
[lunr.js](http://lunrjs.com/).

 - **How does it work?**

  I created 
[`search_data.json`](https://github.com/AhyoungRyu/zeppelin/blob/6e02423f541cc406e4e41031629609a276a9f481/docs/search_data.json)
 which is used for docs info template. `lunr.js` combines all of the text from 
all of the docs in `docs/` into `_site/search_data.json`. It looks like below.
![screen shot 2016-08-03 at 4 49 59 
am](https://cloud.githubusercontent.com/assets/10060731/17342828/f2908be8-5935-11e6-8eee-b189677c0531.png)
All the info are comes from [Jekyll YAML front 
matter](https://jekyllrb.com/docs/frontmatter/) variables. (i.e. title, group, 
description.. that's why I rewrote all docs' title and description.)
[search.js](https://github.com/AhyoungRyu/zeppelin/blob/6e02423f541cc406e4e41031629609a276a9f481/docs/assets/themes/zeppelin/js/search.js)
 will do this job using this data!

### What type of PR is it?
Improvement & Feature

### Todos
* [x] - Keep consistency for all docs pages' `Title`
* [x] - Add some overview sentences to all docs pages' `Description` section 
(this will be used as the result preview)
* [x] - Add apache license header to all docs page (some pages are missing the 
license header currently)
* [x] - Add LICENSE for `lunr.min.js`

### What is the Jira issue?
[ZEPPELIN-1219](https://issues.apache.org/jira/browse/ZEPPELIN-1219)

### How should this be tested?
1. Apply this patch and build `ZEPPELIN_HOME/docs` dir -> please see 
[docs/README.md#build-documentation](https://github.com/apache/zeppelin/tree/master/docs#build-documentation)
2. Click `search` icon in navbar and go to `search.html` page
3. Type anything you want to search in the search bar (i.e. type `python`, 
`spark`, `dynamic` ... )

### Screenshots (if appropriate)
![screen shot 2016-08-03 at 4 42 28 
pm](https://cloud.githubusercontent.com/assets/10060731/17357851/d092e2ca-5999-11e6-9917-a3d4113e6e43.png)

![search](https://cloud.githubusercontent.com/assets/10060731/17357828/b2486cd6-5999-11e6-873b-121fac033b03.gif)

### Questions:
* Does the licenses files need update? Yes, for `lunr.min.js`
* Is there breaking changes for older versions? no
* Does this needs documentation? no

Author: AhyoungRyu <[email protected]>

Closes #1266 from AhyoungRyu/ZEPPELIN-1219 and squashes the following commits:

7ec8854 [AhyoungRyu] Modify 'no result' sentence
91b71a7 [AhyoungRyu] Remove Apache license header since JSON doesn't allow 
comment
34afd5d [AhyoungRyu] Add Apache license header to search_data.json
6784282 [AhyoungRyu] Minor search page UI update
0389d28 [AhyoungRyu] Make index.md not to be searched
9f1ba42 [AhyoungRyu] Disable enterkey press & change icon
bd4956a [AhyoungRyu] Add docs.js & search.js to exclude list in pom.xml
624b051 [AhyoungRyu] Add Apache license header to search.js
1381152 [AhyoungRyu] Fix search result skipping issue
6e775f5 [AhyoungRyu] Make pleasecontribute.md not to be searched
ee11136 [AhyoungRyu] Fix some typos
fa01299 [AhyoungRyu] Refine 'description' in some docs as @bzz suggested
da0cff9 [AhyoungRyu] Exclude lunr.min.js
36ba7f1 [AhyoungRyu] Add lunr.min.js license info
f6a05a6 [AhyoungRyu] Apply css style for the search results
68eb997 [AhyoungRyu] Attach 'Apache Zeppelin ZEPPELIN_VERSION Documentation: ' 
to title
d908c37 [AhyoungRyu] Add searching page
a951fa6 [AhyoungRyu] Add search icon to navbar
0688a79 [AhyoungRyu] Keep consistency all docs' front matter for the right 
search result
040f532 [AhyoungRyu] Add template for storing docs info based on jekyll front 
matter
0705bd6 [AhyoungRyu] Add js files: lunr.min.js & search.js


Project: http://git-wip-us.apache.org/repos/asf/zeppelin/repo
Commit: http://git-wip-us.apache.org/repos/asf/zeppelin/commit/85d4df4f
Tree: http://git-wip-us.apache.org/repos/asf/zeppelin/tree/85d4df4f
Diff: http://git-wip-us.apache.org/repos/asf/zeppelin/diff/85d4df4f

Branch: refs/heads/master
Commit: 85d4df4f0c9801751abad57004760ccc10d1eb82
Parents: 3a1ab28
Author: AhyoungRyu <[email protected]>
Authored: Sat Aug 6 14:50:25 2016 +0900
Committer: Alexander Bezzubov <[email protected]>
Committed: Wed Aug 10 12:39:22 2016 +0900

----------------------------------------------------------------------
 LICENSE                                         |  3 +-
 docs/_includes/themes/zeppelin/_navigation.html |  9 ++-
 docs/_includes/themes/zeppelin/default.html     |  4 +-
 docs/assets/themes/zeppelin/css/style.css       | 24 +++++++
 docs/assets/themes/zeppelin/js/lunr.min.js      |  7 ++
 docs/assets/themes/zeppelin/js/search.js        | 71 ++++++++++++++++++++
 docs/development/howtocontribute.md             | 18 ++++-
 docs/development/howtocontributewebsite.md      | 18 ++++-
 docs/development/writingzeppelinapplication.md  |  4 +-
 docs/development/writingzeppelininterpreter.md  |  4 +-
 docs/displaysystem/back-end-angular.md          |  4 +-
 docs/displaysystem/basicdisplaysystem.md        |  4 +-
 docs/displaysystem/front-end-angular.md         |  4 +-
 docs/index.md                                   |  6 +-
 docs/install/install.md                         |  4 +-
 docs/install/upgrade.md                         |  4 +-
 docs/install/virtual_machine.md                 | 10 +--
 docs/install/yarn_install.md                    |  2 +-
 docs/interpreter/alluxio.md                     | 17 ++++-
 docs/interpreter/bigquery.md                    | 18 ++++-
 docs/interpreter/cassandra.md                   | 17 ++++-
 docs/interpreter/elasticsearch.md               | 17 ++++-
 docs/interpreter/flink.md                       | 17 ++++-
 docs/interpreter/geode.md                       | 17 ++++-
 docs/interpreter/hbase.md                       | 17 ++++-
 docs/interpreter/hdfs.md                        | 17 ++++-
 docs/interpreter/hive.md                        | 17 ++++-
 docs/interpreter/ignite.md                      | 17 ++++-
 docs/interpreter/jdbc.md                        | 20 ++++--
 docs/interpreter/lens.md                        | 17 ++++-
 docs/interpreter/livy.md                        | 17 ++++-
 docs/interpreter/markdown.md                    | 19 +++++-
 docs/interpreter/postgresql.md                  | 17 ++++-
 docs/interpreter/python.md                      | 17 ++++-
 docs/interpreter/r.md                           | 17 ++++-
 docs/interpreter/scalding.md                    | 17 ++++-
 docs/interpreter/shell.md                       | 17 ++++-
 docs/interpreter/spark.md                       | 18 ++++-
 docs/manual/dependencymanagement.md             |  4 +-
 docs/manual/dynamicform.md                      |  4 +-
 docs/manual/dynamicinterpreterload.md           |  6 +-
 docs/manual/interpreterinstallation.md          |  4 +-
 docs/manual/interpreters.md                     |  4 +-
 docs/manual/notebookashomepage.md               |  4 +-
 docs/manual/publish.md                          |  4 +-
 docs/pleasecontribute.md                        |  6 +-
 docs/quickstart/explorezeppelinui.md            |  4 +-
 docs/quickstart/tutorial.md                     |  6 +-
 docs/rest-api/rest-configuration.md             |  4 +-
 docs/rest-api/rest-credential.md                |  4 +-
 docs/rest-api/rest-interpreter.md               |  4 +-
 docs/rest-api/rest-notebook.md                  |  4 +-
 docs/search.md                                  | 43 ++++++++++++
 docs/search_data.json                           | 17 +++++
 docs/security/authentication.md                 |  6 +-
 docs/security/datasource_authorization.md       |  6 +-
 docs/security/notebook_authorization.md         |  6 +-
 docs/security/shiroauthentication.md            |  6 +-
 docs/storage/storage.md                         |  6 +-
 licenses/LICENSE-lunrjs-0.7.1                   | 19 ++++++
 pom.xml                                         |  6 ++
 61 files changed, 610 insertions(+), 114 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/LICENSE
----------------------------------------------------------------------
diff --git a/LICENSE b/LICENSE
index 8b209c5..b243d2c 100644
--- a/LICENSE
+++ b/LICENSE
@@ -242,7 +242,8 @@ The following components are provided under the MIT-style 
license. See project l
 The text of each license is also included at 
licenses/LICENSE-[project]-[version].txt.
     
     (MIT Style) jekyll-table-of-contents 
(https://github.com/ghiculescu/jekyll-table-of-contents) - 
https://github.com/ghiculescu/jekyll-table-of-contents/blob/master/LICENSE.txt
-
+    (MIT Style) lunr.js (https://github.com/olivernn/lunr.js) - 
https://github.com/olivernn/lunr.js/blob/v0.7.1/LICENSE
+    
 ========================================================================
 Apache licenses
 ========================================================================

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/_includes/themes/zeppelin/_navigation.html
----------------------------------------------------------------------
diff --git a/docs/_includes/themes/zeppelin/_navigation.html 
b/docs/_includes/themes/zeppelin/_navigation.html
index e809b09..a396d56 100644
--- a/docs/_includes/themes/zeppelin/_navigation.html
+++ b/docs/_includes/themes/zeppelin/_navigation.html
@@ -114,7 +114,14 @@
               </ul>
             </li>
           </ul>
+          <ul class="nav navbar-nav">
+            <li>
+              <a href="{{BASE_PATH}}/search.html" class="nav-search-link">
+                <span class="fa fa-search nav-search-icon"></span>
+              </a>
+            </li>
+          </ul>
         </nav><!--/.navbar-collapse -->
       </div>
     </div>
-    
+

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/_includes/themes/zeppelin/default.html
----------------------------------------------------------------------
diff --git a/docs/_includes/themes/zeppelin/default.html 
b/docs/_includes/themes/zeppelin/default.html
index cd07602..8d84124 100644
--- a/docs/_includes/themes/zeppelin/default.html
+++ b/docs/_includes/themes/zeppelin/default.html
@@ -2,7 +2,7 @@
 <html lang="en">
   <head>
     <meta charset="utf-8">
-    <title>{{ page.title }}</title>
+    <title>Apache Zeppelin {{ site.ZEPPELIN_VERSION }} Documentation: {{ 
page.title }}</title>
     {% if page.description %}<meta name="description" content="{{ 
page.description }}">{% endif %}
     <meta name="author" content="{{ site.author.name }}">
 
@@ -34,6 +34,8 @@
     <script src="{{ ASSET_PATH }}/js/docs.js"></script>
     <script src="{{ ASSET_PATH }}/js/anchor.min.js"></script>
     <script src="{{ ASSET_PATH }}/js/toc.js"></script>
+    <script src="{{ ASSET_PATH }}/js/lunr.min.js"></script>
+    <script src="{{ ASSET_PATH }}/js/search.js"></script>    
 
     <!-- atom & rss feed -->
     <link href="{{ BASE_PATH }}{{ site.JB.atom_path }}" 
type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed">

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/assets/themes/zeppelin/css/style.css
----------------------------------------------------------------------
diff --git a/docs/assets/themes/zeppelin/css/style.css 
b/docs/assets/themes/zeppelin/css/style.css
index 1a6f3da..7fa1b8a 100644
--- a/docs/assets/themes/zeppelin/css/style.css
+++ b/docs/assets/themes/zeppelin/css/style.css
@@ -569,6 +569,30 @@ a.anchorjs-link:hover { text-decoration: none; }
   margin-left: -18px;
 }
 
+/* Search Page */
+#search p {
+  font-size: 30px;
+  font-weight: bold;
+  color: black;
+}
+
+#search_results p {
+  font-size: 13px;
+  font-weight: 400;
+}
+
+#search_results a {
+  vertical-align: super;
+  font-size: 16px;
+  text-decoration: underline;
+}
+
+#search_results .link {
+  font-size: 13px;
+  color: #008000;
+  padding-bottom: 3px;
+}
+
 /* Custom, iPhone Retina */
 @media only screen and (max-width: 480px) {
   .jumbotron h1 {

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/assets/themes/zeppelin/js/lunr.min.js
----------------------------------------------------------------------
diff --git a/docs/assets/themes/zeppelin/js/lunr.min.js 
b/docs/assets/themes/zeppelin/js/lunr.min.js
new file mode 100644
index 0000000..b0198df
--- /dev/null
+++ b/docs/assets/themes/zeppelin/js/lunr.min.js
@@ -0,0 +1,7 @@
+/**
+ * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as 
bright - 0.7.0
+ * Copyright (C) 2016 Oliver Nightingale
+ * MIT Licensed
+ * @license
+ */
+!function(){var t=function(e){var n=new t.Index;return 
n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.7.0",t.utils={},t.utils.warn=function(t){return
 
function(e){t.console&&console.warn&&console.warn(e)}}(this),t.utils.asString=function(t){return
 void 
0===t||null===t?"":t.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var
 t=Array.prototype.slice.call(arguments),e=t.pop(),n=t;if("function"!=typeof 
e)throw new TypeError("last argument must be a 
function");n.forEach(function(t){this.hasHandler(t)||(this.events[t]=[]),this.events[t].push(e)},this)},t.EventEmitter.prototype.removeListener=function(t,e){if(this.hasHandler(t)){var
 
n=this.events[t].indexOf(e);this.events[t].splice(n,1),this.events[t].length||delete
 
this.events[t]}},t.EventEmitter.prototype.emit=function(t){if(this.hasHandler(t)){var
 
e=Array.prototype.slice.call(arguments,1);this.events[t].forEach(function(t){t.apply(void
 0,e)})}},t.E
 ventEmitter.prototype.hasHandler=function(t){return t in 
this.events},t.tokenizer=function(e){return arguments.length&&null!=e&&void 
0!=e?Array.isArray(e)?e.map(function(e){return 
t.utils.asString(e).toLowerCase()}):e.toString().trim().toLowerCase().split(t.tokenizer.seperator):[]},t.tokenizer.seperator=/[\s\-]+/,t.tokenizer.load=function(t){var
 e=this.registeredFunctions[t];if(!e)throw new Error("Cannot load un-registered 
function: "+t);return 
e},t.tokenizer.label="default",t.tokenizer.registeredFunctions={"default":t.tokenizer},t.tokenizer.registerFunction=function(e,n){n
 in this.registeredFunctions&&t.utils.warn("Overwriting existing tokenizer: 
"+n),e.label=n,this.registeredFunctions[n]=e},t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n
 in this.registeredFunctions&&t.utils.warn("Overwriting existing registered 
function: 
"+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegister
 ed=function(e){var n=e.label&&e.label in 
this.registeredFunctions;n||t.utils.warn("Function is not registered with 
pipeline. This may cause problems when serialising the 
index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return 
e.forEach(function(e){var i=t.Pipeline.registeredFunctions[e];if(!i)throw new 
Error("Cannot load un-registered function: 
"+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var 
e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var
 i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find 
existingFn");i+=1,this._stack.splice(i,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var
 i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find 
existingFn");this._stack.splice(i,0,n)},t.Pipeline.prototype.remove=function(t){var
 e=this._stack.i
 
ndexOf(t);-1!=e&&this._stack.splice(e,1)},t.Pipeline.prototype.run=function(t){for(var
 e=[],n=t.length,i=this._stack.length,r=0;n>r;r++){for(var 
o=t[r],s=0;i>s&&(o=this._stack[s](o,r,t),void 0!==o&&""!==o);s++);void 
0!==o&&""!==o&&e.push(o)}return 
e},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return
 this._stack.map(function(e){return 
t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Vector=function(){this._magnitude=null,this.list=void
 
0,this.length=0},t.Vector.Node=function(t,e,n){this.idx=t,this.val=e,this.next=n},t.Vector.prototype.insert=function(e,n){this._magnitude=void
 0;var i=this.list;if(!i)return this.list=new 
t.Vector.Node(e,n,i),this.length++;if(e<i.idx)return this.list=new 
t.Vector.Node(e,n,i),this.length++;for(var r=i,o=i.next;void 
0!=o;){if(e<o.idx)return r.next=new 
t.Vector.Node(e,n,o),this.length++;r=o,o=o.next}return r.next=new 
t.Vector.Node(e,n,o),this.length++},t.Vector.prototype.magnitude=function(){if(this.
 _magnitude)return this._magnitude;for(var 
t,e=this.list,n=0;e;)t=e.val,n+=t*t,e=e.next;return 
this._magnitude=Math.sqrt(n)},t.Vector.prototype.dot=function(t){for(var 
e=this.list,n=t.list,i=0;e&&n;)e.idx<n.idx?e=e.next:e.idx>n.idx?n=n.next:(i+=e.val*n.val,e=e.next,n=n.next);return
 i},t.Vector.prototype.similarity=function(t){return 
this.dot(t)/(this.magnitude()*t.magnitude())},t.SortedSet=function(){this.length=0,this.elements=[]},t.SortedSet.load=function(t){var
 e=new this;return 
e.elements=t,e.length=t.length,e},t.SortedSet.prototype.add=function(){var 
t,e;for(t=0;t<arguments.length;t++)e=arguments[t],~this.indexOf(e)||this.elements.splice(this.locationFor(e),0,e);this.length=this.elements.length},t.SortedSet.prototype.toArray=function(){return
 this.elements.slice()},t.SortedSet.prototype.map=function(t,e){return 
this.elements.map(t,e)},t.SortedSet.prototype.forEach=function(t,e){return 
this.elements.forEach(t,e)},t.SortedSet.prototype.indexOf=function(t){for(var 
e=0,n=this.elemen
 ts.length,i=n-e,r=e+Math.floor(i/2),o=this.elements[r];i>1;){if(o===t)return 
r;t>o&&(e=r),o>t&&(n=r),i=n-e,r=e+Math.floor(i/2),o=this.elements[r]}return 
o===t?r:-1},t.SortedSet.prototype.locationFor=function(t){for(var 
e=0,n=this.elements.length,i=n-e,r=e+Math.floor(i/2),o=this.elements[r];i>1;)t>o&&(e=r),o>t&&(n=r),i=n-e,r=e+Math.floor(i/2),o=this.elements[r];return
 o>t?r:t>o?r+1:void 0},t.SortedSet.prototype.intersect=function(e){for(var 
n=new 
t.SortedSet,i=0,r=0,o=this.length,s=e.length,a=this.elements,h=e.elements;;){if(i>o-1||r>s-1)break;a[i]!==h[r]?a[i]<h[r]?i++:a[i]>h[r]&&r++:(n.add(a[i]),i++,r++)}return
 n},t.SortedSet.prototype.clone=function(){var e=new t.SortedSet;return 
e.elements=this.toArray(),e.length=e.elements.length,e},t.SortedSet.prototype.union=function(t){var
 e,n,i;this.length>=t.length?(e=this,n=t):(e=t,n=this),i=e.clone();for(var 
r=0,o=n.toArray();r<o.length;r++)i.add(o[r]);return 
i},t.SortedSet.prototype.toJSON=function(){return 
this.toArray()},t.Index=functio
 n(){this._fields=[],this._ref="id",this.pipeline=new 
t.Pipeline,this.documentStore=new t.Store,this.tokenStore=new 
t.TokenStore,this.corpusTokens=new t.SortedSet,this.eventEmitter=new 
t.EventEmitter,this.tokenizerFn=t.tokenizer,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var
 t=Array.prototype.slice.call(arguments);return 
this.eventEmitter.addListener.apply(this.eventEmitter,t)},t.Index.prototype.off=function(t,e){return
 
this.eventEmitter.removeListener(t,e)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version
 mismatch: current "+t.version+" importing "+e.version);var n=new this;return 
n._fields=e.fields,n._ref=e.ref,n.tokenizer=t.tokenizer.load(e.tokenizer),n.documentStore=t.Store.load(e.documentStore),n.tokenStore=t.TokenStore.load(e.tokenStore),n.corpusTokens=t.SortedSet.load(e.corpusTokens),n.pipeline=t.Pipeline.load(e.pipeline),n},t.Index.prototype.field=function(t,e){var
 e=e||{},n
 ={name:t,boost:e.boost||1};return 
this._fields.push(n),this},t.Index.prototype.ref=function(t){return 
this._ref=t,this},t.Index.prototype.tokenizer=function(e){var 
n=e.label&&e.label in t.tokenizer.registeredFunctions;return 
n||t.utils.warn("Function is not a registered tokenizer. This may cause 
problems when serialising the 
index"),this.tokenizerFn=e,this},t.Index.prototype.add=function(e,n){var 
i={},r=new t.SortedSet,o=e[this._ref],n=void 
0===n?!0:n;this._fields.forEach(function(t){var 
n=this.pipeline.run(this.tokenizerFn(e[t.name]));i[t.name]=n;for(var 
o=0;o<n.length;o++){var 
s=n[o];r.add(s),this.corpusTokens.add(s)}},this),this.documentStore.set(o,r);for(var
 s=0;s<r.length;s++){for(var 
a=r.elements[s],h=0,u=0;u<this._fields.length;u++){var 
l=this._fields[u],c=i[l.name],f=c.length;if(f){for(var 
d=0,p=0;f>p;p++)c[p]===a&&d++;h+=d/f*l.boost}}this.tokenStore.add(a,{ref:o,tf:h})}n&&this.eventEmitter.emit("add",e,this)},t.Index.prototype.remove=function(t,e){var
 n=t[this._ref],e=void 
 0===e?!0:e;if(this.documentStore.has(n)){var 
i=this.documentStore.get(n);this.documentStore.remove(n),i.forEach(function(t){this.tokenStore.remove(t,n)},this),e&&this.eventEmitter.emit("remove",t,this)}},t.Index.prototype.update=function(t,e){var
 e=void 
0===e?!0:e;this.remove(t,!1),this.add(t,!1),e&&this.eventEmitter.emit("update",t,this)},t.Index.prototype.idf=function(t){var
 e="@"+t;if(Object.prototype.hasOwnProperty.call(this._idfCache,e))return 
this._idfCache[e];var n=this.tokenStore.count(t),i=1;return 
n>0&&(i=1+Math.log(this.documentStore.length/n)),this._idfCache[e]=i},t.Index.prototype.search=function(e){var
 n=this.pipeline.run(this.tokenizerFn(e)),i=new 
t.Vector,r=[],o=this._fields.reduce(function(t,e){return 
t+e.boost},0),s=n.some(function(t){return 
this.tokenStore.has(t)},this);if(!s)return[];n.forEach(function(e,n,s){var 
a=1/s.length*this._fields.length*o,h=this,u=this.tokenStore.expand(e).reduce(function(n,r){var
 o=h.corpusTokens.indexOf(r),s=h.idf(r),u=1,l=new t.Sorted
 Set;if(r!==e){var 
c=Math.max(3,r.length-e.length);u=1/Math.log(c)}o>-1&&i.insert(o,a*s*u);for(var 
f=h.tokenStore.get(r),d=Object.keys(f),p=d.length,v=0;p>v;v++)l.add(f[d[v]].ref);return
 n.union(l)},new t.SortedSet);r.push(u)},this);var 
a=r.reduce(function(t,e){return t.intersect(e)});return 
a.map(function(t){return{ref:t,score:i.similarity(this.documentVector(t))}},this).sort(function(t,e){return
 e.score-t.score})},t.Index.prototype.documentVector=function(e){for(var 
n=this.documentStore.get(e),i=n.length,r=new t.Vector,o=0;i>o;o++){var 
s=n.elements[o],a=this.tokenStore.get(s)[e].tf,h=this.idf(s);r.insert(this.corpusTokens.indexOf(s),a*h)}return
 
r},t.Index.prototype.toJSON=function(){return{version:t.version,fields:this._fields,ref:this._ref,tokenizer:this.tokenizerFn.label,documentStore:this.documentStore.toJSON(),tokenStore:this.tokenStore.toJSON(),corpusTokens:this.corpusTokens.toJSON(),pipeline:this.pipeline.toJSON()}},t.Index.prototype.use=function(t){var
 e=Array.prototype.slic
 
e.call(arguments,1);e.unshift(this),t.apply(this,e)},t.Store=function(){this.store={},this.length=0},t.Store.load=function(e){var
 n=new this;return 
n.length=e.length,n.store=Object.keys(e.store).reduce(function(n,i){return 
n[i]=t.SortedSet.load(e.store[i]),n},{}),n},t.Store.prototype.set=function(t,e){this.has(t)||this.length++,this.store[t]=e},t.Store.prototype.get=function(t){return
 this.store[t]},t.Store.prototype.has=function(t){return t in 
this.store},t.Store.prototype.remove=function(t){this.has(t)&&(delete 
this.store[t],this.length--)},t.Store.prototype.toJSON=function(){return{store:this.store,length:this.length}},t.stemmer=function(){var
 
t={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},e={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",i=
 
"[aeiouy]",r=n+"[^aeiouy]*",o=i+"[aeiou]*",s="^("+r+")?"+o+r,a="^("+r+")?"+o+r+"("+o+")?$",h="^("+r+")?"+o+r+o+r,u="^("+r+")?"+i,l=new
 RegExp(s),c=new RegExp(h),f=new RegExp(a),d=new 
RegExp(u),p=/^(.+?)(ss|i)es$/,v=/^(.+?)([^s])s$/,g=/^(.+?)eed$/,m=/^(.+?)(ed|ing)$/,y=/.$/,S=/(at|bl|iz)$/,w=new
 RegExp("([^aeiouylsz])\\1$"),k=new 
RegExp("^"+r+i+"[^aeiouwxy]$"),x=/^(.+?[^aeiou])y$/,b=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,F=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,_=/^(.+?)(s|t)(ion)$/,z=/^(.+?)e$/,O=/ll$/,P=new
 RegExp("^"+r+i+"[^aeiouwxy]$"),T=function(n){var 
i,r,o,s,a,h,u;if(n.length<3)return 
n;if(o=n.substr(0,1),"y"==o&&(n=o.toUpperCase()+n.substr(1)),s=p,a=v,s.test(n)?n=n.replace(s,"$1$2"):a.test(n)&&(n=n.replace(a,"$1$2")),s=g,a=m,s.test(n)){var
 T=s.exec(n);s=l,s.test(T[1])&&(s=y,n=n.rep
 lace(s,""))}else if(a.test(n)){var 
T=a.exec(n);i=T[1],a=d,a.test(i)&&(n=i,a=S,h=w,u=k,a.test(n)?n+="e":h.test(n)?(s=y,n=n.replace(s,"")):u.test(n)&&(n+="e"))}if(s=x,s.test(n)){var
 T=s.exec(n);i=T[1],n=i+"i"}if(s=b,s.test(n)){var 
T=s.exec(n);i=T[1],r=T[2],s=l,s.test(i)&&(n=i+t[r])}if(s=E,s.test(n)){var 
T=s.exec(n);i=T[1],r=T[2],s=l,s.test(i)&&(n=i+e[r])}if(s=F,a=_,s.test(n)){var 
T=s.exec(n);i=T[1],s=c,s.test(i)&&(n=i)}else if(a.test(n)){var 
T=a.exec(n);i=T[1]+T[2],a=c,a.test(i)&&(n=i)}if(s=z,s.test(n)){var 
T=s.exec(n);i=T[1],s=c,a=f,h=P,(s.test(i)||a.test(i)&&!h.test(i))&&(n=i)}return 
s=O,a=c,s.test(n)&&a.test(n)&&(s=y,n=n.replace(s,"")),"y"==o&&(n=o.toLowerCase()+n.substr(1)),n};return
 
T}(),t.Pipeline.registerFunction(t.stemmer,"stemmer"),t.generateStopWordFilter=function(t){var
 e=t.reduce(function(t,e){return t[e]=e,t},{});return function(t){return 
t&&e[t]!==t?t:void 
0}},t.stopWordFilter=t.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among
 
","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter"),t.trimmer=function(t){return
 
t.replace(/^\W+/,"").replace(/\W+$/,"")},t.Pipeline.registerFunction(t.trimmer,"trimmer"),t.TokenStore=function(){this.root={docs:{}},this.length=0},t.TokenStore.load=function(t){var
  e=new this;return 
e.root=t.root,e.length=t.length,e},t.TokenStore.prototype.add=function(t,e,n){var
 n=n||this.root,i=t.charAt(0),r=t.slice(1);return i in 
n||(n[i]={docs:{}}),0===r.length?(n[i].docs[e.ref]=e,void(this.length+=1)):this.add(r,e,n[i])},t.TokenStore.prototype.has=function(t){if(!t)return!1;for(var
 
e=this.root,n=0;n<t.length;n++){if(!e[t.charAt(n)])return!1;e=e[t.charAt(n)]}return!0},t.TokenStore.prototype.getNode=function(t){if(!t)return{};for(var
 
e=this.root,n=0;n<t.length;n++){if(!e[t.charAt(n)])return{};e=e[t.charAt(n)]}return
 e},t.TokenStore.prototype.get=function(t,e){return 
this.getNode(t,e).docs||{}},t.TokenStore.prototype.count=function(t,e){return 
Object.keys(this.get(t,e)).length},t.TokenStore.prototype.remove=function(t,e){if(t){for(var
 n=this.root,i=0;i<t.length;i++){if(!(t.charAt(i)in 
n))return;n=n[t.charAt(i)]}delete 
n.docs[e]}},t.TokenStore.prototype.expand=function(t,e){var 
n=this.getNode(t),i=n.docs||{},e=e||[];return 
Object.keys(i).length&&e.push(t),Ob
 
ject.keys(n).forEach(function(n){"docs"!==n&&e.concat(this.expand(t+n,e))},this),e},t.TokenStore.prototype.toJSON=function(){return{root:this.root,length:this.length}},function(t,e){"function"==typeof
 define&&define.amd?define(e):"object"==typeof 
exports?module.exports=e():t.lunr=e()}(this,function(){return t})}();

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/assets/themes/zeppelin/js/search.js
----------------------------------------------------------------------
diff --git a/docs/assets/themes/zeppelin/js/search.js 
b/docs/assets/themes/zeppelin/js/search.js
new file mode 100644
index 0000000..469b66e
--- /dev/null
+++ b/docs/assets/themes/zeppelin/js/search.js
@@ -0,0 +1,71 @@
+---
+
+---
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+jQuery(function() {
+  window.idx = lunr(function () {
+    this.field('id');
+    this.field('title');
+    this.field('content', { boost: 10 });
+    this.field('group');
+  });
+
+  window.data = $.getJSON('/search_data.json');
+  window.data.then(function(loaded_data){
+    $.each(loaded_data, function(index, value){
+      window.idx.add(
+        $.extend({ "id": index }, value)
+      );
+    });
+  });
+
+  $("#site_search").keyup(function(event){
+    event.preventDefault();
+    var query = $("#search_box").val();
+    var results = window.idx.search(query);
+    display_search_results(results);
+  });
+
+  $('html').bind('keypress', function(event){
+    // Since keyup() is operated at the above, disable 'Enter Key' press.   
+     if(event.keyCode == 13) {
+        return false;
+     }
+  });
+
+  function display_search_results(results) {
+    var $search_results = $("#search_results");
+    var zeppelin_version = {{site.ZEPPELIN_VERSION | jsonify}};
+
+    window.data.then(function(loaded_data) {
+      if (results.length) {
+        $search_results.empty();
+        $search_results.prepend('<p class="">Found '+results.length+' 
result(s)</p><hr>');
+
+        results.forEach(function(result) {
+          var item = loaded_data[result.ref];
+          var appendString = '<a href="'+item.url+'">'+item.title+'</a><div 
class="link">'+'https://zeppelin.apache.org/docs/'+zeppelin_version+item.url+'</div><p>'+item.excerpt+'</p><br/>';
+
+          $search_results.append(appendString);
+        });
+      } else {
+        $search_results.html('<p>Your search did not match any 
documents.<br/>Make sure that all words are spelled correctly or try more 
general keywords.</p>');
+      }
+    });
+  }
+});

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/development/howtocontribute.md
----------------------------------------------------------------------
diff --git a/docs/development/howtocontribute.md 
b/docs/development/howtocontribute.md
index 2d3842a..cd0ca3f 100644
--- a/docs/development/howtocontribute.md
+++ b/docs/development/howtocontribute.md
@@ -1,9 +1,23 @@
 ---
 layout: page
-title: "How to contribute"
-description: "How to contribute"
+title: "Contributing to Apache Zeppelin (Code)"
+description: "How can you contribute to Apache Zeppelin project? This document 
covers from setting up your develop environment to making a pull request on 
Github."
 group: development
 ---
+<!--
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+{% include JB/setup %}
 
 # Contributing to Apache Zeppelin ( Code )
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/development/howtocontributewebsite.md
----------------------------------------------------------------------
diff --git a/docs/development/howtocontributewebsite.md 
b/docs/development/howtocontributewebsite.md
index 0db1555..2ee299b 100644
--- a/docs/development/howtocontributewebsite.md
+++ b/docs/development/howtocontributewebsite.md
@@ -1,9 +1,23 @@
 ---
 layout: page
-title: "How to contribute (website)"
-description: "How to contribute (website)"
+title: "Contributing to Apache Zeppelin (Website)"
+description: "How can you contribute to Apache Zeppelin project website? This 
document covers from building Zeppelin documentation site to making a pull 
request on Github."
 group: development
 ---
+<!--
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+{% include JB/setup %}
 
 # Contributing to Apache Zeppelin ( Website )
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/development/writingzeppelinapplication.md
----------------------------------------------------------------------
diff --git a/docs/development/writingzeppelinapplication.md 
b/docs/development/writingzeppelinapplication.md
index c00aabe..e99bbcb 100644
--- a/docs/development/writingzeppelinapplication.md
+++ b/docs/development/writingzeppelinapplication.md
@@ -1,7 +1,7 @@
 ---
 layout: page
-title: "Writing Zeppelin Application"
-description: ""
+title: "Writing a new Application(Experimental)"
+description: "Apache Zeppelin Application is a package that runs on 
Interpreter process and displays it's output inside of the notebook. Make your 
own Application in Apache Zeppelin is quite easy."
 group: development
 ---
 <!--

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/development/writingzeppelininterpreter.md
----------------------------------------------------------------------
diff --git a/docs/development/writingzeppelininterpreter.md 
b/docs/development/writingzeppelininterpreter.md
index 8061a89..c9d4521 100644
--- a/docs/development/writingzeppelininterpreter.md
+++ b/docs/development/writingzeppelininterpreter.md
@@ -1,7 +1,7 @@
 ---
 layout: page
-title: "Writing Zeppelin Interpreter"
-description: ""
+title: "Writing a New Interpreter"
+description: "Apache Zeppelin Interpreter is a language backend. Every 
Interpreters belongs to an InterpreterGroup. Interpreters in the same 
InterpreterGroup can reference each other."
 group: development
 ---
 <!--

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/displaysystem/back-end-angular.md
----------------------------------------------------------------------
diff --git a/docs/displaysystem/back-end-angular.md 
b/docs/displaysystem/back-end-angular.md
index d84a033..432036c 100644
--- a/docs/displaysystem/back-end-angular.md
+++ b/docs/displaysystem/back-end-angular.md
@@ -1,7 +1,7 @@
 ---
 layout: page
-title: "Angular (backend API)"
-description: "Angular (backend API)"
+title: "Back-end Angular API in Apache Zeppelin"
+description: "Apache Zeppelin provides a gateway between your interpreter and 
your compiled AngularJS view templates. You can not only update scope variables 
from your interpreter but also watch them in the interpreter, which is JVM 
process."
 group: display
 ---
 <!--

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/displaysystem/basicdisplaysystem.md
----------------------------------------------------------------------
diff --git a/docs/displaysystem/basicdisplaysystem.md 
b/docs/displaysystem/basicdisplaysystem.md
index 732408d..d621714 100644
--- a/docs/displaysystem/basicdisplaysystem.md
+++ b/docs/displaysystem/basicdisplaysystem.md
@@ -1,7 +1,7 @@
 ---
 layout: page
-title: "Basic Display System"
-description: ""
+title: "Basic Display System in Apache Zeppelin"
+description: "There are 3 basic display systems in Apache Zeppelin. By 
default, Zeppelin prints interpreter responce as a plain text using text 
display system. With %html directive, Zeppelin treats your output as HTML. You 
can also simply use %table display system to leverage Zeppelin's built in 
visualization."
 group: display
 ---
 <!--

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/displaysystem/front-end-angular.md
----------------------------------------------------------------------
diff --git a/docs/displaysystem/front-end-angular.md 
b/docs/displaysystem/front-end-angular.md
index 773b067..0e64aae 100644
--- a/docs/displaysystem/front-end-angular.md
+++ b/docs/displaysystem/front-end-angular.md
@@ -1,7 +1,7 @@
 ---
 layout: page
-title: "Angular (frontend API)"
-description: "Angular (frontend API)"
+title: "Front-end Angular API in Apache Zeppelin"
+description: "In addition to the back-end API to handle Angular objects 
binding, Apache Zeppelin exposes a simple AngularJS z object on the front-end 
side to expose the same capabilities."
 group: display
 ---
 <!--

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/index.md
----------------------------------------------------------------------
diff --git a/docs/index.md b/docs/index.md
index beee695..70931e5 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -1,8 +1,8 @@
 ---
 layout: page
-title: Overview
-tagline: Less Development, More analysis!
-group: nav-right
+title:
+description:
+group:
 ---
 <!--
 Licensed under the Apache License, Version 2.0 (the "License");

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/install/install.md
----------------------------------------------------------------------
diff --git a/docs/install/install.md b/docs/install/install.md
index a47e1c6..9262716 100644
--- a/docs/install/install.md
+++ b/docs/install/install.md
@@ -1,7 +1,7 @@
 ---
 layout: page
-title: "Getting Started"
-description: ""
+title: "Quick Start"
+description: "This page will help you to get started and guide you through 
installation of Apache Zeppelin, running it in the command line and basic 
configuration options."
 group: install
 ---
 <!--

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/install/upgrade.md
----------------------------------------------------------------------
diff --git a/docs/install/upgrade.md b/docs/install/upgrade.md
index a831eb9..850e827 100644
--- a/docs/install/upgrade.md
+++ b/docs/install/upgrade.md
@@ -1,7 +1,7 @@
 ---
 layout: page
-title: "Manual upgrade procedure for Zeppelin"
-description: ""
+title: "Manual Zeppelin version upgrade procedure"
+description: "This document will guide you through a procedure of manual 
upgrade your Apache Zeppelin instance to a newer version. Apache Zeppelin keeps 
backward compatibility for the notebook file format."
 group: install
 ---
 <!--

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/install/virtual_machine.md
----------------------------------------------------------------------
diff --git a/docs/install/virtual_machine.md b/docs/install/virtual_machine.md
index 7360183..b4b9134 100644
--- a/docs/install/virtual_machine.md
+++ b/docs/install/virtual_machine.md
@@ -1,7 +1,7 @@
 ---
 layout: page
-title: "Install A Zeppelin ready Virtual Machine"
-description: ""
+title: "Apache Zeppelin on Vagrant Virtual Machine"
+description: "Apache Zeppelin provides a script for running a virtual machine 
for development through Vagrant. The script will create a virtual machine with 
core dependencies pre-installed, required for developing Apache Zeppelin."
 group: install
 ---
 <!--
@@ -19,17 +19,17 @@ limitations under the License.
 -->
 {% include JB/setup %}
 
-# Vagrant Virtual Machine for Apache Zeppelin
+# Apache Zeppelin on Vagrant Virtual Machine
 
 <div id="toc"></div>
 
 ## Overview
 
-Apache Zeppelin distribution includes a scripts directory
+Apache Zeppelin distribution includes a script directory
 
  `scripts/vagrant/zeppelin-dev`
 
-This script creates a virtual machine that launches a repeatable, known set of 
core dependencies required for developing Zeppelin.  It can also be used to run 
an existing Zeppelin build if you don't plan to build from source.
+This script creates a virtual machine that launches a repeatable, known set of 
core dependencies required for developing Zeppelin. It can also be used to run 
an existing Zeppelin build if you don't plan to build from source.
 For PySpark users, this script includes several helpful [Python 
Libraries](#python-extras).
 For SparkR users, this script includes several helpful [R 
Libraries](#r-extras).
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/install/yarn_install.md
----------------------------------------------------------------------
diff --git a/docs/install/yarn_install.md b/docs/install/yarn_install.md
index 466007d..e242754 100644
--- a/docs/install/yarn_install.md
+++ b/docs/install/yarn_install.md
@@ -1,7 +1,7 @@
 ---
 layout: page
 title: "Install Zeppelin to connect with existing YARN cluster"
-description: ""
+description: "This page describes how to pre-configure a bare metal node, 
configure Apache Zeppelin and connect it to existing YARN cluster running 
Hortonworks flavour of Hadoop."
 group: install
 ---
 <!--

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/interpreter/alluxio.md
----------------------------------------------------------------------
diff --git a/docs/interpreter/alluxio.md b/docs/interpreter/alluxio.md
index c3ad14a..4c41fdc 100644
--- a/docs/interpreter/alluxio.md
+++ b/docs/interpreter/alluxio.md
@@ -1,9 +1,22 @@
 ---
 layout: page
-title: "Alluxio Interpreter"
-description: "Alluxio Interpreter"
+title: "Alluxio Interpreter for Apache Zeppelin"
+description: "Alluxio is a memory-centric distributed storage system enabling 
reliable data sharing at memory-speed across cluster frameworks."
 group: interpreter
 ---
+<!--
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
 {% include JB/setup %}
 
 # Alluxio Interpreter for Apache Zeppelin

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/interpreter/bigquery.md
----------------------------------------------------------------------
diff --git a/docs/interpreter/bigquery.md b/docs/interpreter/bigquery.md
index 1e92aa9..7ebe2e2 100644
--- a/docs/interpreter/bigquery.md
+++ b/docs/interpreter/bigquery.md
@@ -1,9 +1,23 @@
 ---
 layout: page
-title: "BigQuery Interpreter"
-description: ""
+title: "BigQuery Interpreter for Apache Zeppelin"
+description: "BigQuery is a highly scalable no-ops data warehouse in the 
Google Cloud Platform."
 group: interpreter
 ---
+<!--
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+{% include JB/setup %}
 
 # BigQuery Interpreter for Apache Zeppelin
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/interpreter/cassandra.md
----------------------------------------------------------------------
diff --git a/docs/interpreter/cassandra.md b/docs/interpreter/cassandra.md
index 89b4ea5..5d8929b 100644
--- a/docs/interpreter/cassandra.md
+++ b/docs/interpreter/cassandra.md
@@ -1,9 +1,22 @@
 ---
 layout: page
-title: "Cassandra Interpreter"
-description: "Cassandra Interpreter"
+title: "Cassandra CQL Interpreter for Apache Zeppelin"
+description: "Apache Cassandra database is the right choice when you need 
scalability and high availability without compromising performance."
 group: interpreter
 ---
+<!--
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
 {% include JB/setup %}
 
 # Cassandra CQL Interpreter for Apache Zeppelin

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/interpreter/elasticsearch.md
----------------------------------------------------------------------
diff --git a/docs/interpreter/elasticsearch.md 
b/docs/interpreter/elasticsearch.md
index 7c6e2ce..0e59cae 100644
--- a/docs/interpreter/elasticsearch.md
+++ b/docs/interpreter/elasticsearch.md
@@ -1,9 +1,22 @@
 ---
 layout: page
-title: "Elasticsearch Interpreter"
-description: ""
+title: "Elasticsearch Interpreter for Apache Zeppelin"
+description: "Elasticsearch is a highly scalable open-source full-text search 
and analytics engine."
 group: interpreter
 ---
+<!--
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
 {% include JB/setup %}
 
 # Elasticsearch Interpreter for Apache Zeppelin

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/interpreter/flink.md
----------------------------------------------------------------------
diff --git a/docs/interpreter/flink.md b/docs/interpreter/flink.md
index 95ed641..3d06546 100644
--- a/docs/interpreter/flink.md
+++ b/docs/interpreter/flink.md
@@ -1,9 +1,22 @@
 ---
 layout: page
-title: "Flink Interpreter"
-description: ""
+title: "Flink Interpreter for Apache Zeppelin"
+description: "Apache Flink is an open source platform for distributed stream 
and batch data processing."
 group: interpreter
 ---
+<!--
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
 {% include JB/setup %}
 
 # Flink interpreter for Apache Zeppelin

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/interpreter/geode.md
----------------------------------------------------------------------
diff --git a/docs/interpreter/geode.md b/docs/interpreter/geode.md
index 24abf2e..f833f9d 100644
--- a/docs/interpreter/geode.md
+++ b/docs/interpreter/geode.md
@@ -1,9 +1,22 @@
 ---
 layout: page
-title: "Geode OQL Interpreter"
-description: ""
+title: "Geode/Gemfire OQL Interpreter for Apache Zeppelin"
+description: "Apache Geode (incubating) provides a database-like consistency 
model, reliable transaction processing and a shared-nothing architecture to 
maintain very low latency performance with high concurrency processing."
 group: interpreter
 ---
+<!--
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
 {% include JB/setup %}
 
 # Geode/Gemfire OQL Interpreter for Apache Zeppelin

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/interpreter/hbase.md
----------------------------------------------------------------------
diff --git a/docs/interpreter/hbase.md b/docs/interpreter/hbase.md
index 4598f2f..12e0517 100644
--- a/docs/interpreter/hbase.md
+++ b/docs/interpreter/hbase.md
@@ -1,9 +1,22 @@
 ---
 layout: page
-title: "HBase Shell Interpreter"
-description: ""
+title: "HBase Shell Interpreter for Apache Zeppelin"
+description: "HBase Shell is a JRuby IRB client for Apache HBase. This 
interpreter provides all capabilities of Apache HBase shell within Apache 
Zeppelin."
 group: interpreter
 ---
+<!--
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
 {% include JB/setup %}
 
 # HBase Shell Interpreter for Apache Zeppelin

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/interpreter/hdfs.md
----------------------------------------------------------------------
diff --git a/docs/interpreter/hdfs.md b/docs/interpreter/hdfs.md
index 7369ba0..d7b7bf8 100644
--- a/docs/interpreter/hdfs.md
+++ b/docs/interpreter/hdfs.md
@@ -1,9 +1,22 @@
 ---
 layout: page
-title: "HDFS File System Interpreter"
-description: ""
+title: "HDFS File System Interpreter for Apache Zeppelin"
+description: "Hadoop File System is a distributed, fault tolerant file system 
part of the hadoop project and is often used as storage for distributed 
processing engines like Hadoop MapReduce and Apache Spark or underlying file 
systems like Alluxio."
 group: interpreter
 ---
+<!--
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
 {% include JB/setup %}
 
 # HDFS File System Interpreter for Apache Zeppelin

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/interpreter/hive.md
----------------------------------------------------------------------
diff --git a/docs/interpreter/hive.md b/docs/interpreter/hive.md
index 037055b..feeb7a3 100644
--- a/docs/interpreter/hive.md
+++ b/docs/interpreter/hive.md
@@ -1,9 +1,22 @@
 ---
 layout: page
-title: "Hive Interpreter"
-description: ""
+title: "Hive Interpreter for Apache Zeppelin"
+description: "Apache Hive data warehouse software facilitates querying and 
managing large datasets residing in distributed storage. Hive provides a 
mechanism to project structure onto this data and query the data using a 
SQL-like language called HiveQL. At the same time this language also allows 
traditional map/reduce programmers to plug in their custom mappers and reducers 
when it is inconvenient or inefficient to express this logic in HiveQL."
 group: interpreter
 ---
+<!--
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
 {% include JB/setup %}
 
 # Hive Interpreter for Apache Zeppelin

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/interpreter/ignite.md
----------------------------------------------------------------------
diff --git a/docs/interpreter/ignite.md b/docs/interpreter/ignite.md
index d157d31..a085dc1 100644
--- a/docs/interpreter/ignite.md
+++ b/docs/interpreter/ignite.md
@@ -1,9 +1,22 @@
 ---
 layout: page
-title: "Ignite Interpreter"
-description: "Ignite user guide"
+title: "Ignite Interpreter for Apache Zeppelin"
+description: "Apache Ignite in-memory Data Fabric is a high-performance, 
integrated and distributed in-memory platform for computing and transacting on 
large-scale data sets in real-time, orders of magnitude faster than possible 
with traditional disk-based or flash technologies."
 group: interpreter
 ---
+<!--
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
 {% include JB/setup %}
 
 # Ignite Interpreter for Apache Zeppelin

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/interpreter/jdbc.md
----------------------------------------------------------------------
diff --git a/docs/interpreter/jdbc.md b/docs/interpreter/jdbc.md
index f7b60a2..72963c0 100644
--- a/docs/interpreter/jdbc.md
+++ b/docs/interpreter/jdbc.md
@@ -1,13 +1,25 @@
 ---
 layout: page
-title: "Generic JDBC Interpreter"
-description: "JDBC user guide"
+title: "Generic JDBC Interpreter for Apache Zeppelin"
+description: "Generic JDBC Interpreter lets you create a JDBC connection to 
any data source. You can use Postgres, MySql, MariaDB, Redshift, Apache Hive, 
Apache Phoenix, Apache Drill and Apache Tajo using JDBC interpreter."
 group: interpreter
 ---
+<!--
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
 {% include JB/setup %}
 
-
-# Generic JDBC  Interpreter for Apache Zeppelin
+# Generic JDBC Interpreter for Apache Zeppelin
 
 <div id="toc"></div>
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/interpreter/lens.md
----------------------------------------------------------------------
diff --git a/docs/interpreter/lens.md b/docs/interpreter/lens.md
index 20b2c0c..b929220 100644
--- a/docs/interpreter/lens.md
+++ b/docs/interpreter/lens.md
@@ -1,9 +1,22 @@
 ---
 layout: page
-title: "Lens Interpreter"
-description: "Lens user guide"
+title: "Lens Interpreter for Apache Zeppelin"
+description: "Apache Lens provides an Unified Analytics interface. Lens aims 
to cut the Data Analytics silos by providing a single view of data across 
multiple tiered data stores and optimal execution environment for the 
analytical query. It seamlessly integrates Hadoop with traditional data 
warehouses to appear like one."
 group: interpreter
 ---
+<!--
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
 {% include JB/setup %}
 
 # Lens Interpreter for Apache Zeppelin

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/interpreter/livy.md
----------------------------------------------------------------------
diff --git a/docs/interpreter/livy.md b/docs/interpreter/livy.md
index 9af6499..a30ba7b 100644
--- a/docs/interpreter/livy.md
+++ b/docs/interpreter/livy.md
@@ -1,9 +1,22 @@
 ---
 layout: page
-title: "Livy Interpreter"
-description: ""
+title: "Livy Interpreter for Apache Zeppelin"
+description: "Livy is an open source REST interface for interacting with Spark 
from anywhere. It supports executing snippets of code or programs in a Spark 
context that runs locally or in YARN."
 group: interpreter
 ---
+<!--
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
 {% include JB/setup %}
 
 # Livy Interpreter for Apache Zeppelin

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/interpreter/markdown.md
----------------------------------------------------------------------
diff --git a/docs/interpreter/markdown.md b/docs/interpreter/markdown.md
index 42ab86b..84e1395 100644
--- a/docs/interpreter/markdown.md
+++ b/docs/interpreter/markdown.md
@@ -1,9 +1,22 @@
 ---
 layout: page
-title: "Markdown Interpreter"
-description: "Markdown Interpreter"
+title: "Markdown Interpreter for Apache Zeppelin"
+description: "Markdown is a plain text formatting syntax designed so that it 
can be converted to HTML. Apache Zeppelin uses markdown4j."
 group: interpreter
 ---
+<!--
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
 {% include JB/setup %}
 
 # Markdown Interpreter for Apache Zeppelin
@@ -12,7 +25,7 @@ group: interpreter
 
 ## Overview
 [Markdown](http://daringfireball.net/projects/markdown/) is a plain text 
formatting syntax designed so that it can be converted to HTML.
-Zeppelin uses markdown4j. For more examples and extension support, please 
checkout [here](https://code.google.com/p/markdown4j/).  
+Apache Zeppelin uses markdown4j. For more examples and extension support, 
please checkout [here](https://code.google.com/p/markdown4j/).  
 In Zeppelin notebook, you can use ` %md ` in the beginning of a paragraph to 
invoke the Markdown interpreter and generate static html from Markdown plain 
text.
 
 In Zeppelin, Markdown interpreter is enabled by default.

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/interpreter/postgresql.md
----------------------------------------------------------------------
diff --git a/docs/interpreter/postgresql.md b/docs/interpreter/postgresql.md
index a83731b..20ef43b 100644
--- a/docs/interpreter/postgresql.md
+++ b/docs/interpreter/postgresql.md
@@ -1,9 +1,22 @@
 ---
 layout: page
-title: "PostgreSQL and HAWQ Interpreter"
-description: ""
+title: "PostgreSQL, Apache HAWQ (incubating) Interpreter for Apache Zeppelin"
+description: "Apache Zeppelin supports PostgreSQL, Apache HAWQ(incubating) and 
Greenplum SQL data processing engines."
 group: interpreter
 ---
+<!--
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
 {% include JB/setup %}
 
 # PostgreSQL, Apache HAWQ (incubating) Interpreter for Apache Zeppelin

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/interpreter/python.md
----------------------------------------------------------------------
diff --git a/docs/interpreter/python.md b/docs/interpreter/python.md
index 1073584..dc10a75 100644
--- a/docs/interpreter/python.md
+++ b/docs/interpreter/python.md
@@ -1,9 +1,22 @@
 ---
 layout: page
-title: "Python Interpreter"
-description: "Python Interpreter"
+title: "Python 2 & 3 Interpreter for Apache Zeppelin"
+description: "Python is a programming language that lets you work quickly and 
integrate systems more effectively."
 group: interpreter
 ---
+<!--
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
 {% include JB/setup %}
 
 # Python 2 & 3 Interpreter for Apache Zeppelin

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/interpreter/r.md
----------------------------------------------------------------------
diff --git a/docs/interpreter/r.md b/docs/interpreter/r.md
index e4f4a9f..2b22491 100644
--- a/docs/interpreter/r.md
+++ b/docs/interpreter/r.md
@@ -1,9 +1,22 @@
 ---
 layout: page
-title: "R Interpreter"
-description: ""
+title: "R Interpreter for Apache Zeppelin"
+description: "R is a free software environment for statistical computing and 
graphics."
 group: interpreter
 ---
+<!--
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
 {% include JB/setup %}
 
 # R Interpreter for Apache Zeppelin

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/interpreter/scalding.md
----------------------------------------------------------------------
diff --git a/docs/interpreter/scalding.md b/docs/interpreter/scalding.md
index d2e86e7..22027f2 100644
--- a/docs/interpreter/scalding.md
+++ b/docs/interpreter/scalding.md
@@ -1,9 +1,22 @@
 ---
 layout: page
-title: "Scalding Interpreter"
-description: ""
+title: "Scalding Interpreter for Apache Zeppelin"
+description: "Scalding is an open source Scala library for writing MapReduce 
jobs."
 group: interpreter
 ---
+<!--
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
 {% include JB/setup %}
 
 # Scalding Interpreter for Apache Zeppelin

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/interpreter/shell.md
----------------------------------------------------------------------
diff --git a/docs/interpreter/shell.md b/docs/interpreter/shell.md
index abcaf1c..50a8ded 100644
--- a/docs/interpreter/shell.md
+++ b/docs/interpreter/shell.md
@@ -1,9 +1,22 @@
 ---
 layout: page
-title: "Shell Interpreter"
-description: "Shell Interpreter"
+title: "Shell interpreter for Apache Zeppelin"
+description: "Shell interpreter uses Apache Commons Exec to execute external 
processes."
 group: interpreter
 ---
+<!--
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
 {% include JB/setup %}
 
 # Shell interpreter for Apache Zeppelin

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/interpreter/spark.md
----------------------------------------------------------------------
diff --git a/docs/interpreter/spark.md b/docs/interpreter/spark.md
index 047f63f..90ac9b0 100644
--- a/docs/interpreter/spark.md
+++ b/docs/interpreter/spark.md
@@ -1,12 +1,24 @@
 ---
 layout: page
-title: "Spark Interpreter Group"
-description: ""
+title: "Apache Spark Interpreter for Apache Zeppelin"
+description: "Apache Spark is a fast and general-purpose cluster computing 
system. It provides high-level APIs in Java, Scala, Python and R, and an 
optimized engine that supports general execution graphs."
 group: interpreter
 ---
+<!--
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
 {% include JB/setup %}
 
-
 # Spark Interpreter for Apache Zeppelin
 
 <div id="toc"></div>

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/manual/dependencymanagement.md
----------------------------------------------------------------------
diff --git a/docs/manual/dependencymanagement.md 
b/docs/manual/dependencymanagement.md
index acf6002..ad8e483 100644
--- a/docs/manual/dependencymanagement.md
+++ b/docs/manual/dependencymanagement.md
@@ -1,7 +1,7 @@
 ---
 layout: page
-title: "Dependency Management"
-description: ""
+title: "Dependency Management for Apache Spark Interpreter"
+description: "Include external libraries to Apache Spark Interpreter by 
setting dependencies in interpreter menu."
 group: manual
 ---
 <!--

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/manual/dynamicform.md
----------------------------------------------------------------------
diff --git a/docs/manual/dynamicform.md b/docs/manual/dynamicform.md
index 6102baf..e0adb4c 100644
--- a/docs/manual/dynamicform.md
+++ b/docs/manual/dynamicform.md
@@ -1,7 +1,7 @@
 ---
 layout: page
-title: "Dynamic Form"
-description: ""
+title: "Dynamic Form in Apache Zeppelin"
+description: "Apache Zeppelin dynamically creates input forms. Depending on 
language backend, there're two different ways to create dynamic form."
 group: manual
 ---
 <!--

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/manual/dynamicinterpreterload.md
----------------------------------------------------------------------
diff --git a/docs/manual/dynamicinterpreterload.md 
b/docs/manual/dynamicinterpreterload.md
index 42dd74d..dab93fd 100644
--- a/docs/manual/dynamicinterpreterload.md
+++ b/docs/manual/dynamicinterpreterload.md
@@ -1,7 +1,7 @@
 ---
 layout: page
-title: "Dynamic Interpreter Loading"
-description: ""
+title: "Dynamic Interpreter Loading using REST API"
+description: "Apache Zeppelin provides pluggable interpreter architecture 
which results in a wide and variety of the supported backend system. In this 
page, we will introduce dynamic interpreter loading using REST API."
 group: manual
 ---
 <!--
@@ -23,7 +23,7 @@ limitations under the License.
 
 <div id="toc"></div>
 
-Zeppelin provides pluggable interpreter architecture which results in a wide 
and variety of the supported backend system. In this section, we will introduce 
**Dynamic interpreter loading** using **REST API**. This concept actually comes 
from [Zeppelin Helium 
Proposal](https://cwiki.apache.org/confluence/display/ZEPPELIN/Helium+proposal).
+Apache Zeppelin provides pluggable interpreter architecture which results in a 
wide and variety of the supported backend system. In this section, we will 
introduce **Dynamic interpreter loading** using **REST API**. This concept 
actually comes from [Zeppelin Helium 
Proposal](https://cwiki.apache.org/confluence/display/ZEPPELIN/Helium+proposal).
 Before we start, if you are not familiar with the concept of **Zeppelin 
interpreter**, you can check out [Overview of Zeppelin 
interpreter](../manual/interpreters.html) first.
 
 ## Overview 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/manual/interpreterinstallation.md
----------------------------------------------------------------------
diff --git a/docs/manual/interpreterinstallation.md 
b/docs/manual/interpreterinstallation.md
index cfd5810..e301f20 100644
--- a/docs/manual/interpreterinstallation.md
+++ b/docs/manual/interpreterinstallation.md
@@ -1,7 +1,7 @@
 ---
 layout: page
-title: "Interpreter Installation"
-description: ""
+title: "Interpreter Installation in Netinst Binary Package"
+description: "Apache Zeppelin provides Interpreter Installation mechanism for 
whom downloaded Zeppelin netinst binary package, or just want to install 
another 3rd party interpreters."
 group: manual
 ---
 <!--

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/manual/interpreters.md
----------------------------------------------------------------------
diff --git a/docs/manual/interpreters.md b/docs/manual/interpreters.md
index 6e4839d..c47d536 100644
--- a/docs/manual/interpreters.md
+++ b/docs/manual/interpreters.md
@@ -1,7 +1,7 @@
 ---
 layout: page
-title: "Interpreters"
-description: ""
+title: "Interpreters in Apache Zeppelin"
+description: "This document explains about the role of interpreters, 
interpreters group and interpreter settings in Apache Zeppelin. The concept of 
Zeppelin interpreter allows any language/data-processing-backend to be plugged 
into Zeppelin."
 group: manual
 ---
 <!--

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/manual/notebookashomepage.md
----------------------------------------------------------------------
diff --git a/docs/manual/notebookashomepage.md 
b/docs/manual/notebookashomepage.md
index 22697c6..c98e7cb 100644
--- a/docs/manual/notebookashomepage.md
+++ b/docs/manual/notebookashomepage.md
@@ -1,7 +1,7 @@
 ---
 layout: page
-title: "Notebook as Homepage"
-description: ""
+title: "Customize Apache Zeppelin homepage"
+description: "Apache Zeppelin allows you to use one of the notebooks you 
create as your Zeppelin Homepage. With that you can brand your Zeppelin 
installation, adjust the instruction to your users needs and even translate to 
other languages."
 group: manual
 ---
 <!--

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/manual/publish.md
----------------------------------------------------------------------
diff --git a/docs/manual/publish.md b/docs/manual/publish.md
index a6dea0d..00b070a 100644
--- a/docs/manual/publish.md
+++ b/docs/manual/publish.md
@@ -1,7 +1,7 @@
 ---
 layout: page
-title: "Publish your Paragraph"
-description: ""
+title: "How can you publish your paragraph"
+description: "Apache Zeppelin provides a feature for publishing your notebook 
paragraph results. Using this feature, you can show Zeppelin notebook paragraph 
results in your own website."
 group: manual
 ---
 <!--

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/pleasecontribute.md
----------------------------------------------------------------------
diff --git a/docs/pleasecontribute.md b/docs/pleasecontribute.md
index 063b48f..746b39d 100644
--- a/docs/pleasecontribute.md
+++ b/docs/pleasecontribute.md
@@ -1,8 +1,8 @@
 ---
 layout: page
-title: "Please contribute"
-description: ""
-group: development
+title:
+description:
+group:
 ---
 <!--
 Licensed under the Apache License, Version 2.0 (the "License");

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/quickstart/explorezeppelinui.md
----------------------------------------------------------------------
diff --git a/docs/quickstart/explorezeppelinui.md 
b/docs/quickstart/explorezeppelinui.md
index 3340bb9..22b2b1c 100644
--- a/docs/quickstart/explorezeppelinui.md
+++ b/docs/quickstart/explorezeppelinui.md
@@ -1,7 +1,7 @@
 ---
 layout: page
 title: "Explore Apache Zeppelin UI"
-description: "Description of Zeppelin UI Layout"
+description: "If you are new to Apache Zeppelin, this document will guide you 
about the basic components of Zeppelin one by one."
 group: quickstart
 ---
 <!--
@@ -17,6 +17,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 
or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
 -->
+{% include JB/setup %}
+
 # Explore Apache Zeppelin UI
 
 <div id="toc"></div>

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/quickstart/tutorial.md
----------------------------------------------------------------------
diff --git a/docs/quickstart/tutorial.md b/docs/quickstart/tutorial.md
index 9333d14..4947f3c 100644
--- a/docs/quickstart/tutorial.md
+++ b/docs/quickstart/tutorial.md
@@ -1,7 +1,7 @@
 ---
 layout: page
-title: "Tutorial"
-description: "Tutorial is valid for Spark 1.3 and higher"
+title: "Apache Zeppelin Tutorial"
+description: "This tutorial page contains a short walk-through tutorial that 
uses Apache Spark backend. Please note that this tutorial is valid for Spark 
1.3 and higher."
 group: quickstart
 ---
 <!--
@@ -17,6 +17,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 
or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
 -->
+{% include JB/setup %}
+
 # Zeppelin Tutorial
 
 <div id="toc"></div>

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/rest-api/rest-configuration.md
----------------------------------------------------------------------
diff --git a/docs/rest-api/rest-configuration.md 
b/docs/rest-api/rest-configuration.md
index 4323b6d..525ddaf 100644
--- a/docs/rest-api/rest-configuration.md
+++ b/docs/rest-api/rest-configuration.md
@@ -1,7 +1,7 @@
 ---
 layout: page
-title: "Configuration REST API"
-description: ""
+title: "Apache Zeppelin Configuration REST API"
+description: "This page contains Apache Zeppelin Configuration REST API 
information."
 group: rest-api
 ---
 <!--

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/rest-api/rest-credential.md
----------------------------------------------------------------------
diff --git a/docs/rest-api/rest-credential.md b/docs/rest-api/rest-credential.md
index 0191674..b8140da 100644
--- a/docs/rest-api/rest-credential.md
+++ b/docs/rest-api/rest-credential.md
@@ -1,7 +1,7 @@
 ---
 layout: page
-title: "Credentials REST API"
-description: ""
+title: "Apache Zeppelin Credential REST API"
+description: "This page contains Apache Zeppelin Credential REST API 
information."
 group: rest-api
 ---
 <!--

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/rest-api/rest-interpreter.md
----------------------------------------------------------------------
diff --git a/docs/rest-api/rest-interpreter.md 
b/docs/rest-api/rest-interpreter.md
index 9ee8f69..734dbd9 100644
--- a/docs/rest-api/rest-interpreter.md
+++ b/docs/rest-api/rest-interpreter.md
@@ -1,7 +1,7 @@
 ---
 layout: page
-title: "Interpreter REST API"
-description: ""
+title: "Apache Zeppelin Interpreter REST API"
+description: "This page contains Apache Zeppelin Interpreter REST API 
information."
 group: rest-api
 ---
 <!--

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/rest-api/rest-notebook.md
----------------------------------------------------------------------
diff --git a/docs/rest-api/rest-notebook.md b/docs/rest-api/rest-notebook.md
index edbb595..1275740 100644
--- a/docs/rest-api/rest-notebook.md
+++ b/docs/rest-api/rest-notebook.md
@@ -1,7 +1,7 @@
 ---
 layout: page
-title: "Notebook REST API"
-description: ""
+title: "Apache Zeppelin Notebook REST API"
+description: "This page contains Apache Zeppelin Notebook REST API 
information."
 group: rest-api
 ---
 <!--

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/search.md
----------------------------------------------------------------------
diff --git a/docs/search.md b/docs/search.md
new file mode 100644
index 0000000..d6af2c7
--- /dev/null
+++ b/docs/search.md
@@ -0,0 +1,43 @@
+---
+layout: page
+title:
+description:
+group:
+---
+<!--
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+{% include JB/setup %}
+
+<div id="home-search" class="home">
+
+<span id="search">
+  <p><i class="glyphicon glyphicon-search"></i> &nbsp;Search Docs</p>
+</span>
+<br/>
+
+<form role="search" action="{{BASE_PATH}}/search.html" id="site_search">
+  <div class="input-group" id="search-container">
+    <input type="text" class="form-control" size="16px" name="q" 
placeholder="Search all pages" id="search_box">
+    <span class="input-group-btn">
+      <button type="reset" class="btn btn-default">
+        <i class="glyphicon glyphicon-remove" style="color:#777"></i>
+      </button>
+    </span>
+  </div>
+</form>
+
+<br/><br/>
+
+<div id="search_results"></div>
+</div>

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/search_data.json
----------------------------------------------------------------------
diff --git a/docs/search_data.json b/docs/search_data.json
new file mode 100644
index 0000000..3df19e9
--- /dev/null
+++ b/docs/search_data.json
@@ -0,0 +1,17 @@
+---
+layout: null
+---
+{
+  {% for page in site.pages %}{% if page.title != nil %}
+
+    "{{ page.url | slugify }}": {
+      "title": "{{ page.title | xml_escape }}",
+      "content"  : "{{page.content | strip_html | strip_newlines | escape | 
remove: "\"}}",
+      "url": " {{ page.url | xml_escape }}",
+      "group": "{{ page.group }}",
+      "excerpt": {{ page.description | strip_html | truncatewords: 40 | 
jsonify }}
+    }
+    {% unless forloop.last %},{% endunless %}
+    {% endif %}
+  {% endfor %}
+}

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/security/authentication.md
----------------------------------------------------------------------
diff --git a/docs/security/authentication.md b/docs/security/authentication.md
index 7ce160a..6035227 100644
--- a/docs/security/authentication.md
+++ b/docs/security/authentication.md
@@ -1,7 +1,7 @@
 ---
 layout: page
 title: "Authentication for NGINX"
-description: "Authentication for NGINX"
+description: "There are multiple ways to enable authentication in Apache 
Zeppelin. This page describes HTTP basic auth using NGINX."
 group: security
 ---
 <!--
@@ -17,11 +17,13 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 
express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
 -->
+{% include JB/setup %}
+
 # Authentication for NGINX
 
 <div id="toc"></div>
 
-Authentication is company-specific.
+There are multiple ways to enable authentication in Apache Zeppelin. This page 
describes HTTP basic auth using NGINX.
 One option is to use [Basic Access 
Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication).
 
 ## HTTP Basic Authentication using NGINX

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/security/datasource_authorization.md
----------------------------------------------------------------------
diff --git a/docs/security/datasource_authorization.md 
b/docs/security/datasource_authorization.md
index 3f86b8a..edf39fb 100644
--- a/docs/security/datasource_authorization.md
+++ b/docs/security/datasource_authorization.md
@@ -1,7 +1,7 @@
 ---
 layout: page
-title: "Data Source Authorization"
-description: "Data Source Authorization"
+title: "Data Source Authorization in Apache Zeppelin"
+description: "Apache Zeppelin supports protected data sources. In case of a 
MySql database, every users can set up their own credentials to access it."
 group: security
 ---
 <!--
@@ -17,6 +17,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 
or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
 -->
+{% include JB/setup %}
+
 # Data Source Authorization in Apache Zeppelin
 
 <div id="toc"></div>

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/security/notebook_authorization.md
----------------------------------------------------------------------
diff --git a/docs/security/notebook_authorization.md 
b/docs/security/notebook_authorization.md
index 8788567..b651151 100644
--- a/docs/security/notebook_authorization.md
+++ b/docs/security/notebook_authorization.md
@@ -1,7 +1,7 @@
 ---
 layout: page
-title: "Notebook Authorization"
-description: "Notebook Authorization"
+title: "Notebook Authorization in Apache Zeppelin"
+description: "This page will guide you how you can set the permission for 
Zeppelin notebooks. This document assumes that Apache Shiro authentication was 
set up."
 group: security
 ---
 <!--
@@ -17,6 +17,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 
or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
 -->
+{% include JB/setup %}
+
 # Zeppelin Notebook Authorization
 
 <div id="toc"></div>

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/security/shiroauthentication.md
----------------------------------------------------------------------
diff --git a/docs/security/shiroauthentication.md 
b/docs/security/shiroauthentication.md
index 2f3590a..65a116d 100644
--- a/docs/security/shiroauthentication.md
+++ b/docs/security/shiroauthentication.md
@@ -1,7 +1,7 @@
 ---
 layout: page
-title: "Shiro Security for Apache Zeppelin"
-description: ""
+title: "Apache Shiro Authentication for Apache Zeppelin"
+description: "Apache Shiro is a powerful and easy-to-use Java security 
framework that performs authentication, authorization, cryptography, and 
session management. This document explains step by step how Shiro can be used 
for Zeppelin notebook authentication."
 group: security
 ---
 <!--
@@ -19,7 +19,7 @@ limitations under the License.
 -->
 {% include JB/setup %}
 
-# Shiro authentication for Apache Zeppelin
+# Apache Shiro authentication for Apache Zeppelin
 
 <div id="toc"></div>
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/docs/storage/storage.md
----------------------------------------------------------------------
diff --git a/docs/storage/storage.md b/docs/storage/storage.md
index 19ddd95..76012ff 100644
--- a/docs/storage/storage.md
+++ b/docs/storage/storage.md
@@ -1,7 +1,7 @@
 ---
 layout: page
-title: "Storage"
-description: "Notebook Storage option for Zeppelin"
+title: "Notebook Storage for Apache Zeppelin"
+description: Apache Zeppelin has a pluggable notebook storage mechanism 
controlled by zeppelin.notebook.storage configuration option with multiple 
implementations."
 group: storage
 ---
 <!--
@@ -17,6 +17,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 
or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
 -->
+{% include JB/setup %}
+
 # Notebook storage options for Apache Zeppelin
 
 <div id="toc"></div>

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/licenses/LICENSE-lunrjs-0.7.1
----------------------------------------------------------------------
diff --git a/licenses/LICENSE-lunrjs-0.7.1 b/licenses/LICENSE-lunrjs-0.7.1
new file mode 100644
index 0000000..e6e4e21
--- /dev/null
+++ b/licenses/LICENSE-lunrjs-0.7.1
@@ -0,0 +1,19 @@
+Copyright (C) 2013 by Oliver Nightingale
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/85d4df4f/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index c0b1935..3e3523e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -465,6 +465,8 @@
               <!-- bundled from bootstrap -->
               <exclude>docs/assets/themes/zeppelin/bootstrap/**</exclude>
               <exclude>docs/assets/themes/zeppelin/css/style.css</exclude>
+              <exclude>docs/assets/themes/zeppelin/js/docs.js</exclude>
+              <exclude>docs/assets/themes/zeppelin/js/search.js</exclude>
               <exclude>docs/_includes/themes/zeppelin/_jumbotron.html</exclude>
               
<exclude>docs/_includes/themes/zeppelin/_navigation.html</exclude>
 
@@ -482,6 +484,7 @@
               <exclude>docs/Rakefile</exclude>
               <exclude>docs/rss.xml</exclude>
               <exclude>docs/sitemap.txt</exclude>
+              <exclude>docs/search_data.json</exclude>
               <exclude>**/dependency-reduced-pom.xml</exclude>
 
               <!-- bundled from anchor -->
@@ -490,6 +493,9 @@
               <!-- bundled from toc -->
               <exclude>docs/assets/themes/zeppelin/js/toc.js</exclude>
 
+              <!-- bundled from lunrjs -->
+              <exclude>docs/assets/themes/zeppelin/js/lunr.min.js</exclude>
+
               <!-- bundled from jekyll -->
               <exclude>docs/assets/themes/zeppelin/css/syntax.css</exclude>
 

Reply via email to