You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@predictionio.apache.org by do...@apache.org on 2017/01/24 18:32:24 UTC

[12/12] incubator-predictionio git commit: [PIO-52] Replace Middleman frontmatter

[PIO-52] Replace Middleman frontmatter


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

Branch: refs/heads/develop
Commit: 3c0c4c5e788ea8bf9ead46c9c04697eab5e8b64d
Parents: 87b3ba4
Author: Donald Szeto <do...@apache.org>
Authored: Tue Jan 24 10:31:43 2017 -0800
Committer: Donald Szeto <do...@apache.org>
Committed: Tue Jan 24 10:31:43 2017 -0800

----------------------------------------------------------------------
 docs/manual/source/404.html.md                  | 12 ++--
 docs/manual/source/algorithm/custom.html.md     |  8 +--
 docs/manual/source/algorithm/index.html.md      |  8 +--
 docs/manual/source/algorithm/multiple.html.md   |  9 ++-
 docs/manual/source/algorithm/switch.html.md     |  8 +--
 docs/manual/source/appintegration/index.html.md |  8 +--
 docs/manual/source/cli/index.html.md            |  8 +--
 .../source/community/contribute-code.html.md    |  8 +--
 .../community/contribute-documentation.html.md  |  8 +--
 .../source/community/contribute-sdk.html.md     |  8 +--
 .../source/community/contribute-webhook.html.md |  8 +--
 docs/manual/source/community/index.html.md      |  8 +--
 docs/manual/source/community/projects.html.md   |  8 +--
 .../source/community/submit-template.html.md    |  8 +--
 docs/manual/source/customize/dase.html.md.erb   |  8 +--
 docs/manual/source/customize/index.html.md      |  8 +--
 .../source/customize/troubleshooting.html.md    |  8 +--
 .../datacollection/analytics-ipynb.html.md.erb  |  8 +--
 .../analytics-tableau.html.md.erb               |  8 +--
 .../analytics-zeppelin.html.md.erb              |  8 +--
 .../source/datacollection/analytics.html.md     |  8 +--
 .../source/datacollection/batchimport.html.md   |  8 +--
 .../source/datacollection/channel.html.md.erb   |  8 +--
 .../source/datacollection/eventapi.html.md      |  8 +--
 .../datacollection/eventmodel.html.md.erb       |  8 +--
 docs/manual/source/datacollection/index.html.md |  8 +--
 .../source/datacollection/webhooks.html.md.erb  |  8 +--
 docs/manual/source/demo/community.html.md       |  8 +--
 docs/manual/source/demo/index.html.md.erb       |  8 +--
 .../source/demo/supervisedlearning.html.md      | 16 ++---
 docs/manual/source/demo/tapster.html.md         |  8 +--
 .../source/demo/textclassification.html.md.erb  |  8 +--
 docs/manual/source/deploy/engineparams.html.md  |  8 +--
 .../manual/source/deploy/enginevariants.html.md |  8 +--
 docs/manual/source/deploy/index.html.md         |  8 +--
 docs/manual/source/deploy/monitoring.html.md    | 38 +++++------
 .../evaluation/evaluationdashboard.html.md      | 10 +--
 docs/manual/source/evaluation/index.html.md     | 18 +++--
 .../source/evaluation/metricbuild.html.md       | 41 ++++++-----
 .../source/evaluation/metricchoose.html.md      | 30 ++++----
 .../source/evaluation/paramtuning.html.md       | 72 ++++++++++----------
 docs/manual/source/github.html                  |  8 ++-
 docs/manual/source/index.html.md.erb            | 10 +--
 .../source/install/config-datastore.html.md     |  8 +--
 docs/manual/source/install/index.html.md.erb    |  8 +--
 .../source/install/install-linux.html.md.erb    |  8 +--
 .../install/install-sourcecode.html.md.erb      |  8 +--
 .../source/install/install-vagrant.html.md.erb  |  8 +--
 .../source/install/launch-aws.html.md.erb       | 10 +--
 .../dimensionalityreduction.html.md             |  8 +--
 .../machinelearning/modelingworkflow.html.md    | 12 ++--
 .../production/deploy-cloudformation.html.md    | 10 +--
 docs/manual/source/resources/faq.html.md        |  8 +--
 docs/manual/source/resources/glossary.html.md   |  8 +--
 .../source/resources/intellij.html.md.erb       | 15 ++--
 docs/manual/source/resources/upgrade.html.md    |  9 ++-
 docs/manual/source/robots.txt                   |  2 +-
 docs/manual/source/samples/index.html.md        |  8 +--
 docs/manual/source/samples/languages.html.md    | 10 +--
 docs/manual/source/samples/level-1.html.md      |  8 +--
 docs/manual/source/samples/level-2-1.html.md    |  8 +--
 docs/manual/source/samples/level-2-2.html.md    |  8 +--
 docs/manual/source/samples/level-2.html.md      |  8 +--
 docs/manual/source/samples/level-3-1.html.md    |  8 +--
 docs/manual/source/samples/level-3-2.html.md    |  8 +--
 docs/manual/source/samples/level-3.html.md      |  8 +--
 docs/manual/source/samples/level-4-1.html.md    |  8 +--
 docs/manual/source/samples/level-4-2.html.md    |  8 +--
 docs/manual/source/samples/level-4-3.html.md    |  8 +--
 docs/manual/source/samples/level-4.html.md      |  8 +--
 docs/manual/source/samples/narrow.html.md       | 12 ++--
 docs/manual/source/samples/sizing.html.md       | 12 ++--
 docs/manual/source/samples/tabs.html.md         | 16 ++---
 docs/manual/source/sdk/community.html.md        |  8 +--
 docs/manual/source/sdk/index.html.md            |  8 +--
 docs/manual/source/sdk/java.html.md.erb         |  8 +--
 docs/manual/source/sdk/php.html.md.erb          |  8 +--
 docs/manual/source/sdk/python.html.md.erb       |  8 +--
 docs/manual/source/sdk/ruby.html.md.erb         |  8 +--
 docs/manual/source/search/index.html.md         |  7 +-
 docs/manual/source/start/customize.html.md      | 12 ++--
 docs/manual/source/start/deploy.html.md.erb     |  8 +--
 docs/manual/source/start/download.html.md       |  8 +--
 docs/manual/source/start/index.html.md          |  8 +--
 docs/manual/source/support/index.html.md.erb    |  8 +--
 .../source/system/anotherdatastore.html.md      | 10 +--
 .../system/deploy-cloudformation.html.md.erb    |  8 +--
 docs/manual/source/system/index.html.md         | 12 ++--
 .../classification/add-algorithm.html.md        |  8 +--
 .../templates/classification/dase.html.md.erb   |  8 +--
 .../templates/classification/how-to.html.md     | 12 ++--
 .../classification/quickstart.html.md.erb       |  8 +--
 .../reading-custom-properties.html.md           |  8 +--
 .../complementarypurchase/dase.html.md.erb      |  8 +--
 .../quickstart.html.md.erb                      |  8 +--
 .../ecommercerecommendation/dase.html.md.erb    |  8 +--
 .../ecommercerecommendation/how-to.html.md      |  8 +--
 .../quickstart.html.md.erb                      |  8 +--
 .../train-with-rate-event.html.md.erb           |  8 +--
 .../dase.html.md.erb                            |  8 +--
 .../quickstart.html.md.erb                      |  8 +--
 .../templates/leadscoring/dase.html.md.erb      |  8 +--
 .../leadscoring/quickstart.html.md.erb          |  8 +--
 .../templates/productranking/dase.html.md.erb   |  8 +--
 .../productranking/quickstart.html.md.erb       |  8 +--
 .../recommendation/batch-evaluator.html.md      |  8 +--
 .../recommendation/blacklist-items.html.md      |  8 +--
 .../recommendation/customize-data-prep.html.md  |  9 ++-
 .../recommendation/customize-serving.html.md    |  8 +--
 .../templates/recommendation/dase.html.md.erb   | 10 +--
 .../recommendation/evaluation.html.md.erb       |  8 +--
 .../templates/recommendation/how-to.html.md     | 12 ++--
 .../recommendation/quickstart.html.md.erb       |  8 +--
 .../reading-custom-events.html.md               |  8 +--
 .../training-with-implicit-preference.html.md   |  8 +--
 .../templates/similarproduct/dase.html.md.erb   |  8 +--
 .../templates/similarproduct/how-to.html.md     | 12 ++--
 .../multi-events-multi-algos.html.md.erb        |  8 +--
 .../similarproduct/quickstart.html.md.erb       |  8 +--
 .../source/templates/vanilla/dase.html.md.erb   |  9 ++-
 .../templates/vanilla/quickstart.html.md.erb    |  8 +--
 121 files changed, 596 insertions(+), 601 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/404.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/404.html.md b/docs/manual/source/404.html.md
index a8a3254..5578573 100644
--- a/docs/manual/source/404.html.md
+++ b/docs/manual/source/404.html.md
@@ -1,3 +1,8 @@
+---
+title: Error 404
+description: Page not found!
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,11 +20,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Error 404
-description: Page not found!
----
-
 # Page Not Found
 
-Sorry the page you were looking for was not found :(
\ No newline at end of file
+Sorry the page you were looking for was not found :(

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/algorithm/custom.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/algorithm/custom.html.md b/docs/manual/source/algorithm/custom.html.md
index dc7d9c8..790c4b5 100644
--- a/docs/manual/source/algorithm/custom.html.md
+++ b/docs/manual/source/algorithm/custom.html.md
@@ -1,3 +1,7 @@
+---
+title: Adding your own Algorithms
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,8 +19,4 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Adding your own Algorithms
----
-
 (Coming soon)

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/algorithm/index.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/algorithm/index.html.md b/docs/manual/source/algorithm/index.html.md
index 2fc2b8a..49163a3 100644
--- a/docs/manual/source/algorithm/index.html.md
+++ b/docs/manual/source/algorithm/index.html.md
@@ -1,3 +1,7 @@
+---
+title: Built-in Algorithm Libraries
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Built-in Algorithm Libraries
----
-
 An engine can virtually call any algorithm in the Algorithm class. Apache
 PredictionIO (incubating) currently offers native support to [Spark
 MLlib](http://spark.apache.org/docs/latest/mllib-guide.html) machine learning

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/algorithm/multiple.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/algorithm/multiple.html.md b/docs/manual/source/algorithm/multiple.html.md
index ee3c460..1383798 100644
--- a/docs/manual/source/algorithm/multiple.html.md
+++ b/docs/manual/source/algorithm/multiple.html.md
@@ -1,3 +1,7 @@
+---
+title: Combining Multiple Algorithms
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,14 +19,9 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Combining Multiple Algorithms
----
 
 You can use more than one algorithm to build multiple models in an engine. The predicted results can be combined in the Serving class.
 
 Here are some How-to examples:
 
 * [Similar Product template - Multiple Events and Multiple Algorithms](/templates/similarproduct/multi-events-multi-algos/)
-
-

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/algorithm/switch.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/algorithm/switch.html.md b/docs/manual/source/algorithm/switch.html.md
index 45505dd..d44ada3 100644
--- a/docs/manual/source/algorithm/switch.html.md
+++ b/docs/manual/source/algorithm/switch.html.md
@@ -1,3 +1,7 @@
+---
+title: Switching to Another Algorithm
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Switching to Another Algorithm
----
-
 Every engine template comes with default algorithm(s). To switch to another algorithm, you simply need to modify the Algorithm class.
 
 Here are some How-to examples:

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/appintegration/index.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/appintegration/index.html.md b/docs/manual/source/appintegration/index.html.md
index 8e11360..e22aff8 100644
--- a/docs/manual/source/appintegration/index.html.md
+++ b/docs/manual/source/appintegration/index.html.md
@@ -1,3 +1,7 @@
+---
+title: App Integration Overview
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: App Integration Overview
----
-
 Apache PredictionIO (incubating) is designed as a machine learning server that
 integrates with your applications on production environments.
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/cli/index.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/cli/index.html.md b/docs/manual/source/cli/index.html.md
index b9d0ce9..e4927fd 100644
--- a/docs/manual/source/cli/index.html.md
+++ b/docs/manual/source/cli/index.html.md
@@ -1,3 +1,7 @@
+---
+title: Command Line
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Command Line
----
-
 ##Overview
 
 Interaction with Apache PredictionIO (incubating) is done through the command

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/community/contribute-code.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/community/contribute-code.html.md b/docs/manual/source/community/contribute-code.html.md
index 9430b2b..0d4b3fd 100644
--- a/docs/manual/source/community/contribute-code.html.md
+++ b/docs/manual/source/community/contribute-code.html.md
@@ -1,3 +1,7 @@
+---
+title: Contribute Code
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title:  Contribute Code
----
-
 Thank you for your interest in contributing to Apache PredictionIO (incubating).
 Our mission is to enable developers to build scalable machine learning
 applications easily. Here is how you can help with the project development. If

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/community/contribute-documentation.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/community/contribute-documentation.html.md b/docs/manual/source/community/contribute-documentation.html.md
index ddda3f4..ae55a29 100644
--- a/docs/manual/source/community/contribute-documentation.html.md
+++ b/docs/manual/source/community/contribute-documentation.html.md
@@ -1,3 +1,7 @@
+---
+title: Contribute Documentation
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Contribute Documentation
----
-
 ## How to Write Documentation
 
 You can help improve the Apache PredictionIO (incubating) documentation by

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/community/contribute-sdk.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/community/contribute-sdk.html.md b/docs/manual/source/community/contribute-sdk.html.md
index d14b8f9..4ee5d31 100644
--- a/docs/manual/source/community/contribute-sdk.html.md
+++ b/docs/manual/source/community/contribute-sdk.html.md
@@ -1,3 +1,7 @@
+---
+title:  Contribute a SDK
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title:  Contribute a SDK
----
-
 A SDK should provide convenient methods for client applications to easily
 record users' behaviors in Apache PredictionIO (incubating)'s Event Server and
 also query recommendations from the ML Engines. Therefore, a SDK typically has 2

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/community/contribute-webhook.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/community/contribute-webhook.html.md b/docs/manual/source/community/contribute-webhook.html.md
index 3367104..6eb70bc 100644
--- a/docs/manual/source/community/contribute-webhook.html.md
+++ b/docs/manual/source/community/contribute-webhook.html.md
@@ -1,3 +1,7 @@
+---
+title:  Contribute a Webhooks Connector
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title:  Contribute a Webhooks Connector
----
-
 NOTE: Please check out the [latest develop
 branch](https://github.com/apache/incubator-predictionio).
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/community/index.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/community/index.html.md b/docs/manual/source/community/index.html.md
index 846b695..5d48ef9 100644
--- a/docs/manual/source/community/index.html.md
+++ b/docs/manual/source/community/index.html.md
@@ -1,3 +1,7 @@
+---
+title: Community Page
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Community Page
----
-
 ## User Mailing List
 
 This list is for users of Apache PredictionIO (incubating) to ask questions,

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/community/projects.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/community/projects.html.md b/docs/manual/source/community/projects.html.md
index ac518a3..00f88a9 100644
--- a/docs/manual/source/community/projects.html.md
+++ b/docs/manual/source/community/projects.html.md
@@ -1,3 +1,7 @@
+---
+title: Community Powered Projects
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Community Powered Projects
----
-
 Here you will find great projects contributed by the Apache PredictionIO
 (incubating) community. Stay tuned.
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/community/submit-template.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/community/submit-template.html.md b/docs/manual/source/community/submit-template.html.md
index 19cf64a..14868e1 100644
--- a/docs/manual/source/community/submit-template.html.md
+++ b/docs/manual/source/community/submit-template.html.md
@@ -1,3 +1,7 @@
+---
+title: Submitting a Template to Template Gallery
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title:  Submitting a Template to Template Gallery
----
-
 ## Template Guidelines
 
 - Please give your template and GitHub repo a meaningful name (for example, My-MLlibKMeansClustering-Template).

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/customize/dase.html.md.erb
----------------------------------------------------------------------
diff --git a/docs/manual/source/customize/dase.html.md.erb b/docs/manual/source/customize/dase.html.md.erb
index 5b2f55b..419abb9 100644
--- a/docs/manual/source/customize/dase.html.md.erb
+++ b/docs/manual/source/customize/dase.html.md.erb
@@ -1,3 +1,7 @@
+---
+title: Implementing DASE
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Implementing DASE
----
-
 This section gives you an overview of DASE components and how to implement them. You will find links to some engine templates for more concrete examples.
 
 # DataSource

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/customize/index.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/customize/index.html.md b/docs/manual/source/customize/index.html.md
index 5399a15..5f36ddb 100644
--- a/docs/manual/source/customize/index.html.md
+++ b/docs/manual/source/customize/index.html.md
@@ -1,3 +1,7 @@
+---
+title: Learning DASE
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Learning DASE
----
-
 The code of an engine consists of D-A-S-E components:
 
 ### [D] Data Source and Data Preparator

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/customize/troubleshooting.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/customize/troubleshooting.html.md b/docs/manual/source/customize/troubleshooting.html.md
index ae7b6e9..68717ba 100644
--- a/docs/manual/source/customize/troubleshooting.html.md
+++ b/docs/manual/source/customize/troubleshooting.html.md
@@ -1,3 +1,7 @@
+---
+title: Engine Development - Troubleshoot
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Engine Development - Troubleshoot
----
-
 Apache PredictionIO (incubating) provides the following features to help you
 debug engines during development cycle.
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/datacollection/analytics-ipynb.html.md.erb
----------------------------------------------------------------------
diff --git a/docs/manual/source/datacollection/analytics-ipynb.html.md.erb b/docs/manual/source/datacollection/analytics-ipynb.html.md.erb
index f5083bd..bcf41a3 100644
--- a/docs/manual/source/datacollection/analytics-ipynb.html.md.erb
+++ b/docs/manual/source/datacollection/analytics-ipynb.html.md.erb
@@ -1,3 +1,7 @@
+---
+title: Machine Learning Analytics with IPython Notebook
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Machine Learning Analytics with IPython Notebook
----
-
 [IPython Notebook](http://ipython.org/notebook.html) is a very powerful
 interactive computational environment, and with
 [Apache PredictionIO (incubating)](http://predictionio.incubator.apache.org),

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/datacollection/analytics-tableau.html.md.erb
----------------------------------------------------------------------
diff --git a/docs/manual/source/datacollection/analytics-tableau.html.md.erb b/docs/manual/source/datacollection/analytics-tableau.html.md.erb
index 6589421..f3e2397 100644
--- a/docs/manual/source/datacollection/analytics-tableau.html.md.erb
+++ b/docs/manual/source/datacollection/analytics-tableau.html.md.erb
@@ -1,3 +1,7 @@
+---
+title: Machine Learning Analytics with Tableau
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Machine Learning Analytics with Tableau
----
-
 With Spark SQL, it is possible to connect Tableau to Apache PredictionIO
 (incubating) Event Server for interactive analysis of event data.
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/datacollection/analytics-zeppelin.html.md.erb
----------------------------------------------------------------------
diff --git a/docs/manual/source/datacollection/analytics-zeppelin.html.md.erb b/docs/manual/source/datacollection/analytics-zeppelin.html.md.erb
index ace7ac7..1d6e39c 100644
--- a/docs/manual/source/datacollection/analytics-zeppelin.html.md.erb
+++ b/docs/manual/source/datacollection/analytics-zeppelin.html.md.erb
@@ -1,3 +1,7 @@
+---
+title: Machine Learning Analytics with Zeppelin
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Machine Learning Analytics with Zeppelin
----
-
 [Apache Zeppelin](http://zeppelin-project.org/) is an interactive computational
 environment built on Apache Spark like the IPython Notebook. With [Apache
 PredictionIO (incubating)](http://predictionio.incubator.apache.org) and [Spark

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/datacollection/analytics.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/datacollection/analytics.html.md b/docs/manual/source/datacollection/analytics.html.md
index 7840337..5a87409 100644
--- a/docs/manual/source/datacollection/analytics.html.md
+++ b/docs/manual/source/datacollection/analytics.html.md
@@ -1,3 +1,7 @@
+---
+title: Using Analytics Tools
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Using Analytics Tools
----
-
 Event Server collects and unifies data for your application from multiple channels.
 
 Data can be exported to Apache parquet format with `pio export` for fast analysis. The following analytics tools are currently supported:

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/datacollection/batchimport.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/datacollection/batchimport.html.md b/docs/manual/source/datacollection/batchimport.html.md
index f1880de..cb81812 100644
--- a/docs/manual/source/datacollection/batchimport.html.md
+++ b/docs/manual/source/datacollection/batchimport.html.md
@@ -1,3 +1,7 @@
+---
+title: Importing Data in Batch
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Importing Data in Batch
----
-
 If you have a large amount of data to start with, performing batch import will
 be much faster than sending every event over an HTTP connection.
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/datacollection/channel.html.md.erb
----------------------------------------------------------------------
diff --git a/docs/manual/source/datacollection/channel.html.md.erb b/docs/manual/source/datacollection/channel.html.md.erb
index 697dc39..c8494ca 100644
--- a/docs/manual/source/datacollection/channel.html.md.erb
+++ b/docs/manual/source/datacollection/channel.html.md.erb
@@ -1,3 +1,7 @@
+---
+title: Channel
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Channel
----
-
 Each App has a default channel (without name) which stores all incoming events.
 This "default" one is used when channel is not specified.
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/datacollection/eventapi.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/datacollection/eventapi.html.md b/docs/manual/source/datacollection/eventapi.html.md
index 7375bf9..ca64812 100644
--- a/docs/manual/source/datacollection/eventapi.html.md
+++ b/docs/manual/source/datacollection/eventapi.html.md
@@ -1,3 +1,7 @@
+---
+title: Collecting Data through REST/SDKs
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Collecting Data through REST/SDKs
----
-
 **Event Server** is designed to collect data into Apache PredictionIO
 (incubating) in an event-based style. Once the Event Server is launched, your
 application can send data to it through its **Event API** with HTTP requests or

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/datacollection/eventmodel.html.md.erb
----------------------------------------------------------------------
diff --git a/docs/manual/source/datacollection/eventmodel.html.md.erb b/docs/manual/source/datacollection/eventmodel.html.md.erb
index 03c651f..c89f0be 100644
--- a/docs/manual/source/datacollection/eventmodel.html.md.erb
+++ b/docs/manual/source/datacollection/eventmodel.html.md.erb
@@ -1,3 +1,7 @@
+---
+title: Events Modeling
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Events Modeling
----
-
 This section explains how to model your application data as events.
 
 **Entity**: it's the real world object involved in the events. The entity may perform the events, or interact with other entity (which became `targetEntity` in an event).

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/datacollection/index.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/datacollection/index.html.md b/docs/manual/source/datacollection/index.html.md
index 8cecadd..ecac173 100644
--- a/docs/manual/source/datacollection/index.html.md
+++ b/docs/manual/source/datacollection/index.html.md
@@ -1,3 +1,7 @@
+---
+title: Event Server Overview
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Event Server Overview
----
-
 Apache PredictionIO (incubating) offers an Event Server that collects data in an
 event-based style via a RESTful API. By default, Event Server uses Apache HBase
 as data store.

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/datacollection/webhooks.html.md.erb
----------------------------------------------------------------------
diff --git a/docs/manual/source/datacollection/webhooks.html.md.erb b/docs/manual/source/datacollection/webhooks.html.md.erb
index df594bf..f255a8a 100644
--- a/docs/manual/source/datacollection/webhooks.html.md.erb
+++ b/docs/manual/source/datacollection/webhooks.html.md.erb
@@ -1,3 +1,7 @@
+---
+title: Unifying Multichannel Data with Webhooks
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Unifying Multichannel Data with Webhooks
----
-
 Webhooks are used to collects data for your application from multiple channels automatically.
 
 Apache PredictionIO (incubating) offers webhooks for Segment.io and MailChimp

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/demo/community.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/demo/community.html.md b/docs/manual/source/demo/community.html.md
index c09c12a..ece646f 100644
--- a/docs/manual/source/demo/community.html.md
+++ b/docs/manual/source/demo/community.html.md
@@ -1,3 +1,7 @@
+---
+title: Demo Tutorials with Apache PredictionIO (incubating)
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Demo Tutorials with Apache PredictionIO (incubating)
----
-
 Here is a list of demo tutorials for Apache PredictionIO (incubating).
 
 INFO: If you want to showcase your demo app here, simply edit [this

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/demo/index.html.md.erb
----------------------------------------------------------------------
diff --git a/docs/manual/source/demo/index.html.md.erb b/docs/manual/source/demo/index.html.md.erb
index d669e2f..533c845 100644
--- a/docs/manual/source/demo/index.html.md.erb
+++ b/docs/manual/source/demo/index.html.md.erb
@@ -1,3 +1,7 @@
+---
+title: Demos
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Demos
----
-
 ## Current Demos
 
 [Tapster](/demo/tapster/) - A Tinder like Rails application using Apache

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/demo/supervisedlearning.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/demo/supervisedlearning.html.md b/docs/manual/source/demo/supervisedlearning.html.md
index fe5625e..7825ed9 100644
--- a/docs/manual/source/demo/supervisedlearning.html.md
+++ b/docs/manual/source/demo/supervisedlearning.html.md
@@ -1,3 +1,7 @@
+---
+title: Machine Learning With PredictionIO
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,11 +19,7 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Machine Learning With PredictionIO 
----
-
-This guide is designed to give developers a brief introduction to fundamental concepts in machine learning, as well as an explanation of how these concept tie into PredictionIO's engine development platform. This particular guide will largely deal with giving some 
+This guide is designed to give developers a brief introduction to fundamental concepts in machine learning, as well as an explanation of how these concept tie into PredictionIO's engine development platform. This particular guide will largely deal with giving some
 
 ## Introduction to Supervised Learning
 
@@ -33,9 +33,9 @@ The first question we must ask is: what is machine learning? **Machine learning*
 
 ### Thinking About Data
 
-In the latter examples, we are trying to predict an outcome \\(Y\\), or **response**, based on some recorded or observed variables \\(X\\), or **features**. For example: in the third problem each observation is a patient, the response variable \\(Y\\) is equal to 1 if this patient has breast cancer and 0 otherwise, and \\(X\\) represents the mammogram results. 
+In the latter examples, we are trying to predict an outcome \\(Y\\), or **response**, based on some recorded or observed variables \\(X\\), or **features**. For example: in the third problem each observation is a patient, the response variable \\(Y\\) is equal to 1 if this patient has breast cancer and 0 otherwise, and \\(X\\) represents the mammogram results.
 
-When we say we want to predict \\(Y\\) using \\(X\\), we are trying to answer the question: how does a response \\(Y\\) depend on a set of features \\(X\\) affect the response \\(Y\\)? To do this we need a set of observations, which we call our **training data**, consisting of observations for which we have observed both \\(Y\\) and \\(X\\), in order to make inference about this relationship. 
+When we say we want to predict \\(Y\\) using \\(X\\), we are trying to answer the question: how does a response \\(Y\\) depend on a set of features \\(X\\) affect the response \\(Y\\)? To do this we need a set of observations, which we call our **training data**, consisting of observations for which we have observed both \\(Y\\) and \\(X\\), in order to make inference about this relationship.
 
 ### Different Types of Supervised Learning Problems
 
@@ -47,7 +47,7 @@ A predictive model should be thought of as a function \\(f\\) that takes as inpu
 
 ## PredictionIO and Supervised Learning
 
-Machine learning methods generally assume that our observation responses and features are numeric vectors. We will say that observations in this format are in **standard form**. However, when you are working with real-life data this will often not be the case. The data will often be formatted in a manner that is specific to the application's needs. As an example, let's suppose our application is [StackOverFlow](http://stackoverflow.com). The data we want to analyze are questions, and we want to predict based on a question's content whether or not it is related to Scala. 
+Machine learning methods generally assume that our observation responses and features are numeric vectors. We will say that observations in this format are in **standard form**. However, when you are working with real-life data this will often not be the case. The data will often be formatted in a manner that is specific to the application's needs. As an example, let's suppose our application is [StackOverFlow](http://stackoverflow.com). The data we want to analyze are questions, and we want to predict based on a question's content whether or not it is related to Scala.
 
 
 **Self-check:**   Is this a classification or regression problem?

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/demo/tapster.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/demo/tapster.html.md b/docs/manual/source/demo/tapster.html.md
index a67e87e..97ec7f8 100644
--- a/docs/manual/source/demo/tapster.html.md
+++ b/docs/manual/source/demo/tapster.html.md
@@ -1,3 +1,7 @@
+---
+title: Comics Recommendation Demo
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Comics Recommendation Demo
----
-
 ## Introduction
 
 In this demo, we will show you how to build a Tinder-style web application (named "Tapster") recommending comics to users based on their likes/dislikes of episodes interactively.

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/demo/textclassification.html.md.erb
----------------------------------------------------------------------
diff --git a/docs/manual/source/demo/textclassification.html.md.erb b/docs/manual/source/demo/textclassification.html.md.erb
index 59e3174..cacc2f4 100644
--- a/docs/manual/source/demo/textclassification.html.md.erb
+++ b/docs/manual/source/demo/textclassification.html.md.erb
@@ -1,3 +1,7 @@
+---
+title: Text Classification Engine Tutorial
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Text Classification Engine Tutorial
----
-
 (Updated for Text Classification Template version 3.1)
 
 ## Introduction

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/deploy/engineparams.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/deploy/engineparams.html.md b/docs/manual/source/deploy/engineparams.html.md
index 27f89c7..770808e 100644
--- a/docs/manual/source/deploy/engineparams.html.md
+++ b/docs/manual/source/deploy/engineparams.html.md
@@ -1,3 +1,7 @@
+---
+title: Setting Engine Parameters
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,8 +19,4 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Setting Engine Parameters
----
-
 (coming soon)

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/deploy/enginevariants.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/deploy/enginevariants.html.md b/docs/manual/source/deploy/enginevariants.html.md
index cc01c97..2778487 100644
--- a/docs/manual/source/deploy/enginevariants.html.md
+++ b/docs/manual/source/deploy/enginevariants.html.md
@@ -1,3 +1,7 @@
+---
+title: Deploying Multiple Engine Variants
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,8 +19,4 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Deploying Multiple Engine Variants
----
-
 (coming soon)

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/deploy/index.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/deploy/index.html.md b/docs/manual/source/deploy/index.html.md
index 8ecd32b..0533dbd 100644
--- a/docs/manual/source/deploy/index.html.md
+++ b/docs/manual/source/deploy/index.html.md
@@ -1,3 +1,7 @@
+---
+title: Deploying an Engine
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Deploying an Engine
----
-
 An engine must be **built** (i.e. `pio build`) and **trained** (i.e. `pio
 train`)  before it can be deployed as a web service.
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/deploy/monitoring.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/deploy/monitoring.html.md b/docs/manual/source/deploy/monitoring.html.md
index 1d13141..0be7589 100644
--- a/docs/manual/source/deploy/monitoring.html.md
+++ b/docs/manual/source/deploy/monitoring.html.md
@@ -1,3 +1,7 @@
+---
+title: Monitoring an Engine
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Monitoring an Engine
----
-
 If you're using PredictionIO in a production setting, you'll want some way to make sure it is always up. [Monit](https://mmonit.com/monit/) is a tool which will monitor important processes and programs. This guide will show how to set up monit on your PredictionIO server to keep an engine always up and running.
 
 You can install monit on ubuntu with
@@ -36,10 +36,10 @@ First, choose the interval on which you want monit to check the status of your s
 set daemon 60 #checks at 1-minute intervals
 ```
 
-The `check system` block should also already be present, under the services block. 
+The `check system` block should also already be present, under the services block.
 
 ```
-  check system 127.0.0.1 
+  check system 127.0.0.1
     if memory usage > 75% then alert
     if swap usage > 25% then alert
     if loadavg (1min) > 4 then alert
@@ -57,10 +57,10 @@ set httpd port 2812
 ```
 More examples on configuring the web server are included in the default config file.
 
-Configuration blocks for common services like apache, nginx, or PostgreSQL can be found [here](http://www.stuartellis.eu/articles/monit/) 
+Configuration blocks for common services like apache, nginx, or PostgreSQL can be found [here](http://www.stuartellis.eu/articles/monit/)
 
 ##Configure for PredictionIO
-###Event Server 
+###Event Server
 Now the interesting stuff, lets add monitoring for the event server.
 
 ```     
@@ -70,7 +70,7 @@ check process eventserver
         stop program = "/etc/monit/modebug /home/ubuntu/event_scripts.sh stop"
         if cpu usage > 95% for 10 cycles then restart
 ```
-This block references a script, event_scripts.sh. This script tell monit how to restart the engine and event server if they go down. 
+This block references a script, event_scripts.sh. This script tell monit how to restart the engine and event server if they go down.
 
 The script might differ slightly depending on your environment but it should look something like what is shown below. Assume SimilarProduct is the your pio app directory.
 
@@ -81,18 +81,18 @@ The script might differ slightly depending on your environment but it should loo
        cd /home/ubuntu/SimilarProduct/
        nohup /opt/PredictionIO/bin/pio eventserver > /home/ubuntu/events.log &
        ;;
-     stop) 
+     stop)
        event_pid=`pgrep -f "Console eventserver"`
        kill "$event_pid"
        ;;
-     *) 
+     *)
  esac
  exit 0
-``` 
+```
 Note that this is dumping output to an events log at `/home/ubuntu/events.log`. Also, be sure that this file is executable with `sudo chmod +x event_scripts.sh`
 
 ###Engine
-The first step here is similar to checking the engine process. 
+The first step here is similar to checking the engine process.
 
 ```
 check process pioengine
@@ -110,18 +110,18 @@ Be sure to adjust your deploy command to your environment (driver-memry, postgre
        cd /home/ubuntu/SimilarProduct/
        nohup /opt/PredictionIO/bin/pio deploy -- --driver-class-path /home/ubuntu/postgresql-9.4.1208.jre6.jar --driver-memory 16G > /home/ubuntu/deploy.log &
        ;;
-     stop) 
+     stop)
        deploy_pid=`pgrep -f "Console deploy"`
        kill "$deploy_pid"
        ;;
-     *) 
+     *)
  esac
  exit 0
 ```
 
-There can be  cases when the process is running but the engine is down however. If the spray REST API used by PredictionIO crashes, the engine process continues but the engine to fail when queried. 
+There can be  cases when the process is running but the engine is down however. If the spray REST API used by PredictionIO crashes, the engine process continues but the engine to fail when queried.
 
-This sort of crash can be taken care of by using monits `check program` capability. 
+This sort of crash can be taken care of by using monits `check program` capability.
 
 ```
 check program pioengine-http with path "/etc/monit/bin/check_engine.sh"
@@ -130,7 +130,7 @@ check program pioengine-http with path "/etc/monit/bin/check_engine.sh"
 	if status != 1
 	then restart
 ```
-This block executes the script at /etc/monit/bin/check_engine.sh and reads the exit status. Depending on the exit status, the block can run a restart script. The restart script can be the same as what is used in the process monitor, but we need a check_engine script. 
+This block executes the script at /etc/monit/bin/check_engine.sh and reads the exit status. Depending on the exit status, the block can run a restart script. The restart script can be the same as what is used in the process monitor, but we need a check_engine script.
 
 ```bash
 #!/bin/bash
@@ -146,7 +146,7 @@ else
   exit 0
 fi
 ```
-This script does a curl request and checks the response. In this example, a user known to  exist is used and then check  make sure the json returned has "itemScores". This can vary between use cases but the idea should be similar. 
+This script does a curl request and checks the response. In this example, a user known to  exist is used and then check  make sure the json returned has "itemScores". This can vary between use cases but the idea should be similar.
 
 Again, make sure this file is executable.
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/evaluation/evaluationdashboard.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/evaluation/evaluationdashboard.html.md b/docs/manual/source/evaluation/evaluationdashboard.html.md
index bf5f702..05950c4 100644
--- a/docs/manual/source/evaluation/evaluationdashboard.html.md
+++ b/docs/manual/source/evaluation/evaluationdashboard.html.md
@@ -1,3 +1,7 @@
+---
+title: Evaluation Dashboard
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Evaluation Dashboard
----
-
 WARNING: This is an experimental development tool, which exposes environment variables and other sensitive information about the PredictionIO application (e.g. storage configs, credentials etc.). It is not recommended to be run in production.
 
 PredictionIO provides a web dashboard which allows you to see previous
@@ -37,4 +37,4 @@ order. A high level description of each evaluation can be seen directly from the
 dashboard. We can also click on the *HTML* button to see the evaluation drill
 down page.
 
-*Note:* The dashboard server has SSL enabled and is authenticated by a key passed as a query string param `accessKey`. The configuration is in `conf/server.conf`
\ No newline at end of file
+*Note:* The dashboard server has SSL enabled and is authenticated by a key passed as a query string param `accessKey`. The configuration is in `conf/server.conf`

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/evaluation/index.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/evaluation/index.html.md b/docs/manual/source/evaluation/index.html.md
index c90a1da..66943e1 100644
--- a/docs/manual/source/evaluation/index.html.md
+++ b/docs/manual/source/evaluation/index.html.md
@@ -1,3 +1,7 @@
+---
+title: ML Tuning and Evaluation
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: ML Tuning and Evaluation
----
-
 PredictionIO's evaluation module allows you to streamline the process of
 testing lots of knobs in engine parameters and deploy the best one out
 of it using statisically sound cross-validation methods.
@@ -27,16 +27,16 @@ There are two key components:
 
 ### Engine
 
-It is our evaluation target. During evaluation, in addition to 
+It is our evaluation target. During evaluation, in addition to
 the *train* and *deploy* mode we describe in earlier sections,
-the engine also generates a list of testing data points. These data 
+the engine also generates a list of testing data points. These data
 points are a sequence of *Query* and *Actual Result* tuples. *Queries* are
-sent to the engine and the engine responds with a *Predicted Result*, 
+sent to the engine and the engine responds with a *Predicted Result*,
 in the same way as how the engine serves a query.
 
 ### Evaluator
 
-The evaluator joins the sequence of *Query*, *Predicted Result*, and *Actual Result* 
+The evaluator joins the sequence of *Query*, *Predicted Result*, and *Actual Result*
 together and evaluates the quality of the engine.
 PredictionIO enables you to implement any metric with just a few lines of code.
 
@@ -54,5 +54,3 @@ We will discuss various aspects of evaluation with PredictionIO.
 - [Bulding Evaluation Metrics](/evaluation/metricbuild/) - we illustrate how to
   implement a custom metric with as few as one line of code (plus some
   boilerplates).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/evaluation/metricbuild.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/evaluation/metricbuild.html.md b/docs/manual/source/evaluation/metricbuild.html.md
index 2082827..ad9d105 100644
--- a/docs/manual/source/evaluation/metricbuild.html.md
+++ b/docs/manual/source/evaluation/metricbuild.html.md
@@ -1,3 +1,7 @@
+---
+title: Building Evaluation Metrics
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,33 +19,29 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Building Evaluation Metrics
----
-
-PredictionIO enables developer to implement evaluation custom evaluation 
-metric with just a few lines of code. 
+PredictionIO enables developer to implement evaluation custom evaluation
+metric with just a few lines of code.
 We illustrate it with [the classification
 template](/templates/classification/quickstart/).
 
 ## Overview
 
-A simplistic form of metric is a function which takes a 
+A simplistic form of metric is a function which takes a
 `(Query, PredictedResult, ActualResult)`-tuple (*QPA-tuple*) as input
-and return a score. 
+and return a score.
 Exploiting this properties allows us to implement custom metric with a single
 line of code (plus some boilerplates). We demonstate this with two metrics:
 accuracy and precision.
 
 <!--
-(Note: This simple form may not be able to handle metrics which require 
+(Note: This simple form may not be able to handle metrics which require
 multi-stage computation, for example root-mean-square-error.)
 -->
 
 
 ## Example 1: Accuracy Metric
 
-Accuracy is a metric capturing 
+Accuracy is a metric capturing
 the portion of correct prediction among all test data points. A way
 to model this is for each correct QPA-tuple, we give a score of 1.0 and
 otherwise 0.0, then we take an average of all tuple scores.
@@ -56,19 +56,19 @@ Line 5 below is the custom calculation.
 case class Accuracy
   extends AverageMetric[EmptyEvaluationInfo, Query, PredictedResult, ActualResult] {
   def calculate(query: Query, predicted: PredictedResult, actual: ActualResult)
-  : Double = 
+  : Double =
     (if (predicted.label == actual.label) 1.0 else 0.0)
 }
 ```
 
-Once we define a metric, we tell PredictionIO we are using it in the `Evaluation` 
+Once we define a metric, we tell PredictionIO we are using it in the `Evaluation`
 object. We can run the following command to kick start the evaluation.
 
 ```
 $ pio build
 ...
 $ pio eval org.template.classification.AccuracyEvaluation \
-    org.template.classification.EngineParamsList 
+    org.template.classification.EngineParamsList
 ...
 ```
 
@@ -77,8 +77,8 @@ $ pio eval org.template.classification.AccuracyEvaluation \
 
 ## Example 2: Precision Metric
 
-Precision is a metric for binary classifier 
-capturing the portion of correction prediction among 
+Precision is a metric for binary classifier
+capturing the portion of correction prediction among
 all *positive* predictions.
 We don't care about the cases where the QPA-tuple gives a negative prediction.
 (Recall that a binary classifier only provide two output values: *positive* and
@@ -88,7 +88,7 @@ The following table illustrates all four cases:
 | PredictedResult | ActualResult | Value |
 | :----: | :----: | :----: |
 | Positive | Positive | 1.0 |
-| Positive | Negative | 0.0 | 
+| Positive | Negative | 0.0 |
 | Negative | Positive | Don't care |
 | Negative | Negative | Don't care |
 
@@ -101,7 +101,7 @@ specify *don't care* values as `None`. It only aggregates the non-None values.
 Lines 3 to 4 is the method signature of `calcuate` method. The key difference
 is that the return value is a `Option[Double]`, in contrast to `Double` for
 `AverageMetric`. This class only computes the average of `Some(.)` results.
-Lines 5 to 13 are the actual logic. The first `if` factors out the 
+Lines 5 to 13 are the actual logic. The first `if` factors out the
 positively predicted case, and the computation is simliar to the accuracy
 metric. The negatively predicted case are the *don't cares*, which we return
 `None`.
@@ -141,7 +141,7 @@ separation of concern when we conduct hyperparameter tuning.
 $ pio build
 ...
 $ pio eval org.template.classification.PrecisionEvaluation \
-    org.template.classification.EngineParamsList 
+    org.template.classification.EngineParamsList
 ...
 [INFO] [CoreWorkflow$] Starting evaluation instance ID: SMhzYbJ9QgKkD0fQzTA7MA
 ...
@@ -166,7 +166,7 @@ Optimal Engine Params:
   },
   "preparatorParams":{
     "":{
-      
+
     }
   },
   "algorithmParamsList":[
@@ -178,7 +178,7 @@ Optimal Engine Params:
   ],
   "servingParams":{
     "":{
-      
+
     }
   }
 }
@@ -188,4 +188,3 @@ Metrics:
 
 (See MyClassification/src/main/scala/***PrecisionEvaluation.scala*** for
 the full usage.)
-

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/evaluation/metricchoose.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/evaluation/metricchoose.html.md b/docs/manual/source/evaluation/metricchoose.html.md
index a2815be..90f478e 100644
--- a/docs/manual/source/evaluation/metricchoose.html.md
+++ b/docs/manual/source/evaluation/metricchoose.html.md
@@ -1,3 +1,7 @@
+---
+title: Choosing Evaluation Metrics
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,30 +19,26 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Choosing Evaluation Metrics
----
-
 The [hyperparameter tuning module](/evaluation/paramtuning/) allows us to select
 the optimal engine parameter defined by a `Metric`.
-`Metric` determines the quality of an engine variant. 
+`Metric` determines the quality of an engine variant.
 We have skimmmed through the process of choosing the right `Metric` in previous
 sections.
 
-This secion discusses basic evaluation metrics commonly used for 
+This secion discusses basic evaluation metrics commonly used for
 classification problems.
 If you are more interested in knowing how to *implement* a custom metric, please
 skip to [the next section](/evaluation/metricbuild/).
 
 ## Defining Metric
 
-Metric evaluates the quality of an engine by comparing engine's output 
+Metric evaluates the quality of an engine by comparing engine's output
 (predicted result) with the original label (actual result).
-A engine serving better prediction should yield a higher metric score, 
+A engine serving better prediction should yield a higher metric score,
 the tuning module returns the engine parameter with the highest score.
 It is sometimes called [*loss
 function*](http://en.wikipedia.org/wiki/Loss_function) in literature, where the
-goal is to minimize the loss function. 
+goal is to minimize the loss function.
 
 During tuning, it is important for us to understand the definition of the
 metric, to make sure it is aligned with the prediction engine's goal.
@@ -46,14 +46,14 @@ metric, to make sure it is aligned with the prediction engine's goal.
 In the classificaiton template, we use *Accuracy* as our metric.
 *Accuracy* is defined as:
 the percentage
-of queries which the engine is able to predict the correct label. 
+of queries which the engine is able to predict the correct label.
 
 ## Common Metrics
 
 We illustrate the choice of metric with the following confusion matrix. Row
 represents the engine predicted label, column represents the acutal label.
 The second row means that of the 200 testing data points,
-the engine predicted 60 (15 + 35 + 10) of them as label 2.0, 
+the engine predicted 60 (15 + 35 + 10) of them as label 2.0,
 among which 35 are correct prediction (i.e. actual label is 2.0, matches with
 the prediction), and 25 are wrong.
 
@@ -65,7 +65,7 @@ the prediction), and 25 are wrong.
 
 ### Accuracy
 
-Accuracy means that how many data points are predicted correctly. 
+Accuracy means that how many data points are predicted correctly.
 It is one of the simplest form of evaluation metrics.
 The accuracy score is # of correct points / # total = (30 + 35 + 50) / 200 =
 0.575.
@@ -77,7 +77,7 @@ which measures the correctness among all positive labels.
 A binary classifier gives only two
 output values (i.e. positive and negative).
 For problem where there are multiple values (3 in our example),
-we first have to tranform our problem into 
+we first have to tranform our problem into
 a binary classification problem. For example, we can have problem whether
 label = 1.0. The confusion matrix now becomes:
 
@@ -86,8 +86,8 @@ label = 1.0. The confusion matrix now becomes:
 | **Predicted = 1.0** | 30 |  60 |
 | **Predicted != 1.0** | 15 | 95 |
 
-Precision is the ratio between the number of correct positive answer 
-(true positive) 
+Precision is the ratio between the number of correct positive answer
+(true positive)
 and the sum of correct positive answer (true positive) and wrong but positively
 labeled answer (false positive). In this case, the precision is 30 / (30 + 60) =
 ~0.3333.

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/evaluation/paramtuning.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/evaluation/paramtuning.html.md b/docs/manual/source/evaluation/paramtuning.html.md
index b92f5b2..e360750 100644
--- a/docs/manual/source/evaluation/paramtuning.html.md
+++ b/docs/manual/source/evaluation/paramtuning.html.md
@@ -1,3 +1,7 @@
+---
+title: Hyperparameter Tuning
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Hyperparameter Tuning
----
-
 A PredictionIO engine is instantiated by a set of parameters. These parameters
 define which algorithm is to be used, as well supply the parameters for the algorithm itself. This naturally raises the question of how to choose the best set of parameters.
 The evaluation module streamlines the process of *tuning* the engine to the best
@@ -34,7 +34,7 @@ to find the best parameter values, and then deploy it.
 
 ### Edit the AppId
 
-Edit MyClassification/src/main/scala/***Evaluation.scala*** to specify the 
+Edit MyClassification/src/main/scala/***Evaluation.scala*** to specify the
 *appId* you used to import the data.
 
 ```scala
@@ -48,19 +48,19 @@ object EngineParamsList extends EngineParamsGenerator {
 
 ### Build and run the evaluation
 To run an evaluation, the command `pio eval` is used. It takes two
-mandatory parameter, 
+mandatory parameter,
 1. the `Evaluation` object, which tells PredictionIO the engine and metric we use
-   for the evaluation; and 
+   for the evaluation; and
 2. the `EngineParamsGenerator`, which contains a list of engine params to test
-   against. 
-The following command kickstarts the evaluation 
+   against.
+The following command kickstarts the evaluation
 workflow for the classification template.
 
 ```
 $ pio build
 ...
 $ pio eval org.template.classification.AccuracyEvaluation \
-    org.template.classification.EngineParamsList 
+    org.template.classification.EngineParamsList
 ```
 
 You will see the following output:
@@ -91,7 +91,7 @@ Optimal Engine Params:
   },
   "preparatorParams":{
     "":{
-      
+
     }
   },
   "algorithmParamsList":[
@@ -103,7 +103,7 @@ Optimal Engine Params:
   ],
   "servingParams":{
     "":{
-      
+
     }
   }
 }
@@ -115,13 +115,13 @@ The best variant params can be found in best.json
 
 The console prints out the evaluation metric score of each engine params, and
 finally pretty print the optimal engine params.
-Amongst the 3 engine params we evaluate, *lambda = 10.0* yields the highest 
+Amongst the 3 engine params we evaluate, *lambda = 10.0* yields the highest
 accuracy score of ~0.9281.
 
 ### Deploy the best engine parameter
 
 The evaluation module also writes out the best engine parameter to disk at
-`best.json`. We can train and deploy this specify engine variant using the 
+`best.json`. We can train and deploy this specify engine variant using the
 extra parameter `-v`. For example:
 
 ```bash
@@ -163,12 +163,12 @@ The PredictionIO evaluation module tests for the best engine params for an
 engine.
 
 Given a set of engine params, we instantiate an engine and evaluate it with existing data.
-The data is split into two sets, a training set and a validation set. 
-The training set is used to train the engine, which is deployed using the same steps described in earlier sections. 
-We query the engine with the test set data, and compare the predicted values in the response 
+The data is split into two sets, a training set and a validation set.
+The training set is used to train the engine, which is deployed using the same steps described in earlier sections.
+We query the engine with the test set data, and compare the predicted values in the response
 with the actual data contained in the validation set.
 We define a ***metric*** to compare ***predicted result*** returned from
-the engine with the ***actual result*** which we obtained from the test data. 
+the engine with the ***actual result*** which we obtained from the test data.
 The goal is to maximize the metric score.
 
 This process is repeated many times with a series of engine params.
@@ -179,8 +179,8 @@ We demonstrate the evaluation with [the classification template]
 
 ## Evaluation Data Generation
 
-In evaluation data generation, the goal is to generate a sequence of (training, 
-validation) data tuple. A common way is to use a *k-fold* generation process. 
+In evaluation data generation, the goal is to generate a sequence of (training,
+validation) data tuple. A common way is to use a *k-fold* generation process.
 The data set is split into *k folds*. We generate k tuples of training and
 validation sets, for each tuple, the training set takes *k - 1* of the folds and
 the validation set takes the remaining fold.
@@ -205,13 +205,13 @@ This class is used to store the actual label of the data (contrast to
 ### Implement Data Generation Method in DataSource
 
 In MyClassification/src/main/scala/***DataSource.scala***, the method
-`readEval` reads and selects data from datastore and returns a 
+`readEval` reads and selects data from datastore and returns a
 sequence of (training, validation) data.
 
 ```scala
 class DataSource(val dsp: DataSourceParams)
   extends PDataSource[TrainingData, EmptyEvaluationInfo, Query, ActualResult] {
-  
+
   ...
 
   override
@@ -255,15 +255,15 @@ class DataSource(val dsp: DataSourceParams)
     val evalK = dsp.evalK.get
     val indexedPoints: RDD[(LabeledPoint, Long)] = labeledPoints.zipWithIndex
 
-    (0 until evalK).map { idx => 
+    (0 until evalK).map { idx =>
       val trainingPoints = indexedPoints.filter(_._2 % evalK != idx).map(_._1)
       val testingPoints = indexedPoints.filter(_._2 % evalK == idx).map(_._1)
 
       (
         new TrainingData(trainingPoints),
         new EmptyEvaluationInfo(),
-        testingPoints.map { 
-          p => (new Query(p.features.toArray), new ActualResult(p.label)) 
+        testingPoints.map {
+          p => (new Query(p.features.toArray), new ActualResult(p.label))
         }
       )
     }
@@ -272,9 +272,9 @@ class DataSource(val dsp: DataSourceParams)
 ```
 
 The `readEval` method returns a sequence of (`TrainingData`, `EvaluationInfo`,
-`RDD[(Query, ActualResult)]`. 
+`RDD[(Query, ActualResult)]`.
 `TrainingData` is the same class we use for deploy,
-`RDD[(Query, ActualResult)]` is the 
+`RDD[(Query, ActualResult)]` is the
 validation set, `EvaluationInfo` can be used to hold some global evaluation data
 ; it is not used in the current example.
 
@@ -292,12 +292,12 @@ For each point in the validation set, we construct the `Query` and
 ## Evaluation Metrics
 
 We define a `Metric` which gives a *score* to engine params. The higher the
-score, the better the engine params are. 
+score, the better the engine params are.
 In this template, we use accuray score which measures
 the portion of correct prediction among all data points.
 
 In MyClassification/src/main/scala/**Evaluation.scala**, the class
-`Accuracy` implements the *accuracy* score. 
+`Accuracy` implements the *accuracy* score.
 It extends a base helper class `AverageMetric` which calculates the average
 score overall *(Query, PredictionResult, ActualResult)* tuple.
 
@@ -309,7 +309,7 @@ case class Accuracy
 }
 ```
 
-Then, implement a `Evaluation` object to define the engine and metric 
+Then, implement a `Evaluation` object to define the engine and metric
 used in this evaluation.
 
 ```scala
@@ -321,7 +321,7 @@ object AccuracyEvaluation extends Evaluation {
 ## Parameters Generation
 The last component is to specify the list of engine params we want to evaluate.
 In this guide, we discuss the simplest method. We specify an explicit list of
-engine params to be evaluated. 
+engine params to be evaluated.
 
 In MyClassification/src/main/scala/**Evaluation.scala**, the object
 `EngineParamsList` specifies the engine params list to be used.
@@ -347,8 +347,8 @@ object EngineParamsList extends EngineParamsGenerator {
 ```
 
 A good practise is to first define a base engine params, it contains the common
-parameters used in all evaluations (lines 7 to 8). With the base params, we 
-construct the list of engine params we want to evaluation by 
+parameters used in all evaluations (lines 7 to 8). With the base params, we
+construct the list of engine params we want to evaluation by
 adding or replacing the controller parameter. Lines 13 to 16 generate 3 engine
 parameters, each has a different smoothing parameters.
 
@@ -364,7 +364,7 @@ from the console.
 $ pio build
 ...
 $ pio eval org.template.classification.AccuracyEvaluation \
-    org.template.classification.EngineParamsList 
+    org.template.classification.EngineParamsList
 ```
 
 You will see the following output:
@@ -395,7 +395,7 @@ Optimal Engine Params:
   },
   "preparatorParams":{
     "":{
-      
+
     }
   },
   "algorithmParamsList":[
@@ -407,7 +407,7 @@ Optimal Engine Params:
   ],
   "servingParams":{
     "":{
-      
+
     }
   }
 }

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/github.html
----------------------------------------------------------------------
diff --git a/docs/manual/source/github.html b/docs/manual/source/github.html
index 9fe96e7..c541920 100644
--- a/docs/manual/source/github.html
+++ b/docs/manual/source/github.html
@@ -1,3 +1,7 @@
+---
+layout: raw
+---
+
 <!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
@@ -14,9 +18,7 @@
   See the License for the specific language governing permissions and
   limitations under the License.
 -->
----
-layout: raw
----
+
 <html><body><style type="text/css">
 body {
   padding: 0;

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/index.html.md.erb
----------------------------------------------------------------------
diff --git a/docs/manual/source/index.html.md.erb b/docs/manual/source/index.html.md.erb
index 991d64c..c1a8fcf 100644
--- a/docs/manual/source/index.html.md.erb
+++ b/docs/manual/source/index.html.md.erb
@@ -1,3 +1,8 @@
+---
+title: Welcome to Apache PredictionIO (incubating)!
+description: Apache PredictionIO (incubating) Open Source Machine Learning Server
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,11 +20,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Welcome to Apache PredictionIO (incubating)!
-description: Apache PredictionIO (incubating) Open Source Machine Learning Server
----
-
 ## What is Apache PredictionIO (incubating)?
 
 Apache PredictionIO (incubating) is an **open source Machine Learning Server**

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/install/config-datastore.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/install/config-datastore.html.md b/docs/manual/source/install/config-datastore.html.md
index ec11b0a..eb290c5 100644
--- a/docs/manual/source/install/config-datastore.html.md
+++ b/docs/manual/source/install/config-datastore.html.md
@@ -1,3 +1,7 @@
+---
+title: Changing Data Store
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Changing Data Store
----
-
 Changing Storage Setup
 ===================
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/install/index.html.md.erb
----------------------------------------------------------------------
diff --git a/docs/manual/source/install/index.html.md.erb b/docs/manual/source/install/index.html.md.erb
index fe37fea..70879d1 100644
--- a/docs/manual/source/install/index.html.md.erb
+++ b/docs/manual/source/install/index.html.md.erb
@@ -1,3 +1,7 @@
+---
+title: Installing Apache PredictionIO (incubating)
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Installing Apache PredictionIO (incubating)
----
-
 [//]: # (## Method 1: Quick Install)
 
 [//]: # (On Linux / Mac OS X, Apache PredictionIO (incubating) can now be installed with a single command:)

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/install/install-linux.html.md.erb
----------------------------------------------------------------------
diff --git a/docs/manual/source/install/install-linux.html.md.erb b/docs/manual/source/install/install-linux.html.md.erb
index 2d39aff..e444bfe 100644
--- a/docs/manual/source/install/install-linux.html.md.erb
+++ b/docs/manual/source/install/install-linux.html.md.erb
@@ -1,3 +1,7 @@
+---
+title: Installing Apache PredictionIO (incubating) on Linux / Mac OS X
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Installing Apache PredictionIO (incubating) on Linux / Mac OS X
----
-
 [//]: # (## Method 1: Quick Install)
 
 [//]: # (On Linux / Mac OS X, Apache PredictionIO (incubating) can now be installed with a single command:)

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/install/install-sourcecode.html.md.erb
----------------------------------------------------------------------
diff --git a/docs/manual/source/install/install-sourcecode.html.md.erb b/docs/manual/source/install/install-sourcecode.html.md.erb
index 31a33d3..a795b82 100644
--- a/docs/manual/source/install/install-sourcecode.html.md.erb
+++ b/docs/manual/source/install/install-sourcecode.html.md.erb
@@ -1,3 +1,7 @@
+---
+title: Installing Apache PredictionIO (incubating) from Source Code
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Installing Apache PredictionIO (incubating) from Source Code
----
-
 INFO: Assuming you are following the directory structure in the followoing,
 replace `/home/abc` with your own home directory wherever you see it.
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/install/install-vagrant.html.md.erb
----------------------------------------------------------------------
diff --git a/docs/manual/source/install/install-vagrant.html.md.erb b/docs/manual/source/install/install-vagrant.html.md.erb
index b8f70a8..8cd4fd0 100644
--- a/docs/manual/source/install/install-vagrant.html.md.erb
+++ b/docs/manual/source/install/install-vagrant.html.md.erb
@@ -1,3 +1,7 @@
+---
+title: Installing PredictionIO with Vagrant (VirtualBox)
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Installing PredictionIO with Vagrant (VirtualBox)
----
-
 WARNING: Running PredictionIO with Vagrant is intended for the purposes of
 simple tests in an isolated environment. Due to resource limitation and overhead
 of virtual machine (VM), it runs much more slowly or may encounter memory issue.

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/install/launch-aws.html.md.erb
----------------------------------------------------------------------
diff --git a/docs/manual/source/install/launch-aws.html.md.erb b/docs/manual/source/install/launch-aws.html.md.erb
index 40632eb..3c2ed76 100644
--- a/docs/manual/source/install/launch-aws.html.md.erb
+++ b/docs/manual/source/install/launch-aws.html.md.erb
@@ -1,3 +1,7 @@
+---
+title: Launching PredictionIO on AWS
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Launching PredictionIO on AWS
----
-
 Deploying PredictionIO on Amazon Web Services is extremely easy thanks
 to AWS Marketplace. As long as you have access to AWS, you can launch a
 ready-to-use PredictionIO Amazon EC2 instance with a single click.
@@ -46,7 +46,7 @@ launch the PredictionIO EC2 instance, then click "Continue".
 ![alt text](../images/awsm-1click.png)
 
 Review your instance's settings before launching. For quick prototyping work,
-we recommend using the "memory optimized" instances for the cheapest memory configurations at least the 
+we recommend using the "memory optimized" instances for the cheapest memory configurations at least the
 "Memory Optimized R3 (r3.large)" or for larger datasets the "(r3.xlarge)".
 
 ## Setting Security Group

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/machinelearning/dimensionalityreduction.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/machinelearning/dimensionalityreduction.html.md b/docs/manual/source/machinelearning/dimensionalityreduction.html.md
index 698e783..39eb72e 100644
--- a/docs/manual/source/machinelearning/dimensionalityreduction.html.md
+++ b/docs/manual/source/machinelearning/dimensionalityreduction.html.md
@@ -1,3 +1,7 @@
+---
+title: Dimensionality Reduction With PredictionIO
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,10 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Dimensionality Reduction With PredictionIO
----
-
 The purpose of this guide is to teach developers how to incorporate "dimensionality reduction" into a PredictionIO engine [Principal Component Analysis](https://en.wikipedia.org/wiki/Principal_component_analysis) (PCA) on the [MNIST digit recognition dataset](https://www.kaggle.com/c/digit-recognizer). To do this, you will be modifying the PredictionIO [classification engine template](/gallery/template-gallery/#classification). This guide will demonstrate how to import the specific data set in batch, and also how to change the engine components in order to incorporate the new sample data and implement PCA.
 
 In machine learning, specifically in [supervised learning](http://en.wikipedia.org/wiki/Supervised_learning), the general problem at hand is to predict a numeric outcome \\(y\\) from a numeric vector \\(\bf{x}\\). The different components of \\(\bf{x}\\) are called **features**, and usually represent observed values such as a hospital patient's age, weight, height, sex, etc. There are subtle issues that begin to arise as the number of features contained in each feature vector increases. We briefly list some of the issues that arise as the number of features grows in size:

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3c0c4c5e/docs/manual/source/machinelearning/modelingworkflow.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/machinelearning/modelingworkflow.html.md b/docs/manual/source/machinelearning/modelingworkflow.html.md
index e0a7633..819710a 100644
--- a/docs/manual/source/machinelearning/modelingworkflow.html.md
+++ b/docs/manual/source/machinelearning/modelingworkflow.html.md
@@ -1,3 +1,7 @@
+---
+title: Modeling Workflow and DASE
+---
+
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -15,11 +19,7 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
----
-title: Modeling Workflow and DASE 
----
-
-In addition to the DASE components, we also introduce the Data Model and Training Model abstractions. The Data Model abstraction refers to the set of Scala classes dealing with the implementation of modeling choices relating to feature **extraction**, **preparation**, and/or **selection**. For this illustration, this only includes the vectorization of text and t.f.-i.d.f. processing which is entirely implemented in the PreparedData class. The Training Model abstraction refers to any set of classes that individually take in a set of feature observations and output a predictive model. This predictive model is leveraged by the Algorithm component to produce prediction results to queries in real-time. In the engine template, this abstraction is implemented in the NBModel class. **Please note that these are conceptual abstractions that are designed to make engine development easier by decoupling class functionality.** Keeping these abstractions in mind will help you in the future with de
 bugging your code, and also make it easier to incorporate different modeling ideas into your engine. 
+In addition to the DASE components, we also introduce the Data Model and Training Model abstractions. The Data Model abstraction refers to the set of Scala classes dealing with the implementation of modeling choices relating to feature **extraction**, **preparation**, and/or **selection**. For this illustration, this only includes the vectorization of text and t.f.-i.d.f. processing which is entirely implemented in the PreparedData class. The Training Model abstraction refers to any set of classes that individually take in a set of feature observations and output a predictive model. This predictive model is leveraged by the Algorithm component to produce prediction results to queries in real-time. In the engine template, this abstraction is implemented in the NBModel class. **Please note that these are conceptual abstractions that are designed to make engine development easier by decoupling class functionality.** Keeping these abstractions in mind will help you in the future with de
 bugging your code, and also make it easier to incorporate different modeling ideas into your engine.
 
 The figure below shows a graphical representation of the engine architecture just described, as well as its interactions with your web/app and a provided Event Server:
 
@@ -28,4 +28,4 @@ The figure below shows a graphical representation of the engine architecture jus
 
 ## Training The Model
 
-This section will guide you through the two Training Model implementations that come with this engine template. Recall that the Training Model abstraction refers to an arbitrary set Scala Class that outputs a predictive model (i.e. implements some method that can be used for prediction). The general problem this engine template is tackling is text classification, so that our Training Model abstraction domain is restricted to implementations producing classifiers. In particular, the classification model that is implemented in this engine template is based on Multinomial Naive Bayes using t.f.-i.d.f. vectorized text. 
+This section will guide you through the two Training Model implementations that come with this engine template. Recall that the Training Model abstraction refers to an arbitrary set Scala Class that outputs a predictive model (i.e. implements some method that can be used for prediction). The general problem this engine template is tackling is text classification, so that our Training Model abstraction domain is restricted to implementations producing classifiers. In particular, the classification model that is implemented in this engine template is based on Multinomial Naive Bayes using t.f.-i.d.f. vectorized text.