METRON-708: Update metron documentation closes apache/incubator-metron#447
diff --git a/metron-analytics/metron-profiler-client/README.md b/metron-analytics/metron-profiler-client/README.md
index 7260336..94da919 100644
--- a/metron-analytics/metron-profiler-client/README.md
+++ b/metron-analytics/metron-profiler-client/README.md
@@ -4,7 +4,7 @@
 
 ## Stellar Client API
 
-The following are usage examples that show how the Stellar API can be used to read profiles generated by the [Metron Profiler](../metron-profiler).  This API would be used in conjunction with other Stellar functions like [`MAAS_MODEL_APPLY`](../../metron-platform/metron-common) to perform model scoring on streaming data.
+The following are usage examples that show how the Stellar API can be used to read profiles generated by the [Metron Profiler](../metron-profiler).  This API would be used in conjunction with other Stellar functions like [`MAAS_MODEL_APPLY`](../../metron-platform/metron-common#maas_model_apply) to perform model scoring on streaming data.
 
 These examples assume a profile has been defined called 'snort-alerts' that tracks the number of Snort alerts associated with an IP address over time.  The profile definition might look similar to the following.
 
@@ -83,13 +83,13 @@
 want to change the global Client configuration so as not to disrupt the work of other analysts working with current profiles.
 
 | Key                                   | Description                                                                                                                        | Required | Default  |
-| ------------------------------------- | -------- | -------- | -------- |
-| profiler.client.period.duration       | The duration of each profile period.  This value should be defined along with `profiler.client.period.duration.units`.  | Optional | 15       |
+| ------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | -------- | -------- |
+| profiler.client.period.duration       | The duration of each profile period.  This value should be defined along with `profiler.client.period.duration.units`.             | Optional | 15       |
 | profiler.client.period.duration.units | The units used to specify the profile period duration.  This value should be defined along with `profiler.client.period.duration`. | Optional | MINUTES  |
-| profiler.client.hbase.table           | The name of the HBase table used to store profile data. | Optional | profiler |
-| profiler.client.hbase.column.family         | The name of the HBase column family used to store profile data. | Optional | P |
-| profiler.client.salt.divisor          | The salt divisor used to store profile data. | Optional | 1000     |
-| hbase.provider.impl                   | The name of the HBaseTableProvider implementation class. | Optional |          |
+| profiler.client.hbase.table           | The name of the HBase table used to store profile data.                                                                            | Optional | profiler |
+| profiler.client.hbase.column.family   | The name of the HBase column family used to store profile data.                                                                    | Optional | P        |
+| profiler.client.salt.divisor          | The salt divisor used to store profile data.                                                                                       | Optional | 1000     |
+| hbase.provider.impl                   | The name of the HBaseTableProvider implementation class.                                                                           | Optional |          |
 
 ### Errors
 The most common result of incorrect PROFILE_GET arguments or Client configuration parameters is an empty result set, rather than an error.  The Client cannot effectively validate the arguments, because the Profiler configuration parameters may be changed and the profile itself does not store them.  The person doing the querying must carry forward the knowledge of the Profiler configuration parameters from the time of profile creation, and use corresponding PROFILE_GET arguments and Client configuration parameters when querying the data.
diff --git a/metron-analytics/metron-profiler/README.md b/metron-analytics/metron-profiler/README.md
index dfff277..9768c07 100644
--- a/metron-analytics/metron-profiler/README.md
+++ b/metron-analytics/metron-profiler/README.md
@@ -80,16 +80,16 @@
 The specification for the Profiler topology is stored in Zookeeper at  `/metron/topology/profiler`.  These properties also exist in the local filesystem at `$METRON_HOME/config/zookeeper/profiler.json`. 
 The values can be changed on disk and then uploaded to Zookeeper using `$METRON_HOME/bin/zk_load_configs.sh`.
 
-| Name 	                |               | Description 	
-|---	                |---	        |---
-| [profile](#profile)   | Required   	| Unique name identifying the profile. 
-| [foreach](#foreach)   | Required  	| A separate profile is maintained "for each" of these. 
-| [onlyif](#onlyif)  	| Optional  	| Boolean expression that determines if a message should be applied to the profile.
-| [groupBy](#groupby)   | Optional      | One or more Stellar expressions used to group the profile measurements when persisted.
-| [init](#init)  	    | Optional  	| One or more expressions executed at the start of a window period.
-| [update](#update)  	| Required  	| One or more expressions executed when a message is applied to the profile.
-| [result](#result)   	| Required  	| A Stellar expression that is executed when the window period expires.
-| [expires](#expires)   | Optional      | Profile data is purged after this period of time, specified in milliseconds.
+| Name                  | Required | Description                                                                             |
+| --------------------- | -------- | --------------------------------------------------------------------------------------- |
+| [profile](#profile)   | Required | Unique name identifying the profile.                                                    |
+| [foreach](#foreach)   | Required | A separate profile is maintained "for each" of these.                                   |
+| [onlyif](#onlyif)     | Optional | Boolean expression that determines if a message should be applied to the profile.       |
+| [groupBy](#groupby)   | Optional | One or more Stellar expressions used to group the profile measurements when persisted.  |
+| [init](#init)         | Optional | One or more expressions executed at the start of a window period.                       |
+| [update](#update)     | Required | One or more expressions executed when a message is applied to the profile.              |
+| [result](#result)     | Required | A Stellar expression that is executed when the window period expires.                   |
+| [expires](#expires)   | Optional | Profile data is purged after this period of time, specified in milliseconds.            |
 
 ### `profile` 
 
@@ -166,20 +166,20 @@
 The Profiler runs as an independent Storm topology.  The configuration for the Profiler topology is stored in local filesystem at `$METRON_HOME/config/profiler.properties`. 
 The values can be changed on disk and then the Profiler topology must be restarted.
 
-| Setting   | Description   |
-|---        |---            |
-| profiler.workers | The number of worker processes to create for the topology.   |
-| profiler.executors | The number of executors to spawn per component.  |
-| profiler.input.topic | The name of the Kafka topic from which to consume data.  |
-| profiler.period.duration | The duration of each profile period.  This value should be defined along with `profiler.period.duration.units`.  |
-| profiler.period.duration.units | The units used to specify the `profiler.period.duration`. |
-| profiler.ttl | If a message has not been applied to a Profile in this period of time, the Profile will be forgotten and its resources will be cleaned up. This value should be defined along with `profiler.ttl.units`. |
-| profiler.ttl.units | The units used to specify the `profiler.ttl`. |
-| profiler.hbase.salt.divisor  |  A salt is prepended to the row key to help prevent hotspotting.  This constant is used to generate the salt.  Ideally, this constant should be roughly equal to the number of nodes in the Hbase cluster.  |
-| profiler.hbase.table | The name of the HBase table that profiles are written to.  |
-| profiler.hbase.column.family | The column family used to store profiles. |
-| profiler.hbase.batch | The number of puts that are written in a single batch.  |
-| profiler.hbase.flush.interval.seconds | The maximum number of seconds between batch writes to HBase. |
+| Setting                               | Description                                                                                                                                                                                                 |
+| ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| profiler.workers                      | The number of worker processes to create for the topology.                                                                                                                                                  |
+| profiler.executors                    | The number of executors to spawn per component.                                                                                                                                                             |
+| profiler.input.topic                  | The name of the Kafka topic from which to consume data.                                                                                                                                                     |
+| profiler.period.duration              | The duration of each profile period.  This value should be defined along with `profiler.period.duration.units`.                                                                                             |
+| profiler.period.duration.units        | The units used to specify the `profiler.period.duration`.                                                                                                                                                   |
+| profiler.ttl                          | If a message has not been applied to a Profile in this period of time, the Profile will be forgotten and its resources will be cleaned up. This value should be defined along with `profiler.ttl.units`.    |
+| profiler.ttl.units                    | The units used to specify the `profiler.ttl`.                                                                                                                                                               |
+| profiler.hbase.salt.divisor           |  A salt is prepended to the row key to help prevent hotspotting.  This constant is used to generate the salt.  Ideally, this constant should be roughly equal to the number of nodes in the Hbase cluster.  |
+| profiler.hbase.table                  | The name of the HBase table that profiles are written to.                                                                                                                                                   |
+| profiler.hbase.column.family          | The column family used to store profiles.                                                                                                                                                                   |
+| profiler.hbase.batch                  | The number of puts that are written in a single batch.                                                                                                                                                      |
+| profiler.hbase.flush.interval.seconds | The maximum number of seconds between batch writes to HBase.                                                                                                                                                |
 
 
 After altering the configuration, start the Profiler.
diff --git a/metron-deployment/README.md b/metron-deployment/README.md
index 46a5f8d..b973353 100644
--- a/metron-deployment/README.md
+++ b/metron-deployment/README.md
@@ -8,9 +8,9 @@
 ## Prerequisites
 The following tools are required to run these scripts:
 
-- Maven - https://maven.apache.org/
-- Git - https://git-scm.com/
-- Ansible - http://www.ansible.com/ (version 2.0 or greater)
+- [Maven](https://maven.apache.org/)
+- [Git](https://git-scm.com/)
+- [Ansible](http://www.ansible.com/) (version 2.0 or greater)
 
 Currently Metron must be built from source.  Before running these scripts perform the following steps:
 
@@ -86,7 +86,7 @@
 A VagrantFile is included and will install a working version of the entire Metron stack.  The following is required to
 run this:
 
-- Vagrant - https://www.vagrantup.com/
+- [Vagrant](https://www.vagrantup.com/)
 - Hostmanager plugin for vagrant - Run `vagrant plugin install vagrant-hostmanager` on the machine where Vagrant is
 installed
 
@@ -133,7 +133,7 @@
 
 After installation, a custom action is available in Ambari (where stop / start services are) to install Elasticsearch templates.  Similar to this, a custom Kibana action to Load Template is available.
 
-Another custom action is available in Ambari to import Zeppelin dashboards. See the [metron-indexing README.md](../metron-platform/metron-indexing/README.md)
+Another custom action is available in Ambari to import Zeppelin dashboards. See the [metron-indexing documentation](../metron-platform/metron-indexing)
 
 #### Offline installation
 Currently there is only one point that would reach out to the internet during an install.  This is the URL for the GeoIP database information.
diff --git a/metron-deployment/amazon-ec2/README.md b/metron-deployment/amazon-ec2/README.md
index 18c1e91..5f1cb38 100644
--- a/metron-deployment/amazon-ec2/README.md
+++ b/metron-deployment/amazon-ec2/README.md
@@ -16,7 +16,7 @@
   - Python 2.7.11
   - Maven 3.3.9  
 
-Any platform that supports these tools is suitable, but the following instructions cover only Mac OS X.  The easiest means of installing these tools on a Mac is to use the excellent [Homebrew](http://brew.sh/) project.
+Any platform that supports these tools is suitable, but the following instructions cover only macOS.  The easiest means of installing these tools on a Mac is to use the excellent [Homebrew](http://brew.sh/) project.
 
 1. Install Homebrew by running the following command in a terminal.  Refer to the  [Homebrew](http://brew.sh/) home page for the latest installation instructions.
 
@@ -27,6 +27,7 @@
 2. With Homebrew installed, run the following command in a terminal to install all of the required tools.
 
   ```  
+  brew cask install java
   brew install maven git
   brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/ee1273bf919a5e4e50838513a9e55ea423e1d7ce/Formula/ansible.rb
   brew switch ansible 2.0.0.2
diff --git a/metron-deployment/packer-build/README.md b/metron-deployment/packer-build/README.md
index 4c75287..1100d5f 100644
--- a/metron-deployment/packer-build/README.md
+++ b/metron-deployment/packer-build/README.md
@@ -10,9 +10,9 @@
 
 Prerequisites
 ---------------------
-- Packer 0.10.1 https://www.packer.io/
-- Virtualbox 5.0.16 https://www.virtualbox.org/
-- Be sure to build Metron prior to building the images- (cd *your-project-directory*/metron-platform ; mvn clean package -DskipTests)
+- [Packer](https://www.packer.io/) 0.10.1
+- [Virtualbox](https://www.virtualbox.org/) 5.0.16
+- Be sure to build Metron prior to building the images (cd *your-project-directory*/metron-platform && mvn clean package -DskipTests)
 
 Build Both Images
 ---------------------- 
diff --git a/metron-deployment/vagrant/codelab-platform/README.md b/metron-deployment/vagrant/codelab-platform/README.md
index 577eaca..b1da488 100644
--- a/metron-deployment/vagrant/codelab-platform/README.md
+++ b/metron-deployment/vagrant/codelab-platform/README.md
@@ -12,7 +12,7 @@
 
  - [Ansible](https://github.com/ansible/ansible) 2.0.0.2
  - [Vagrant](https://www.vagrantup.com) 1.8.1
- - [Virtualbox](virtualbox.org) 5.0.16
+ - [Virtualbox](https://virtualbox.org) 5.0.16
  - Python 2.7.11
  - Maven 3.3.9
 
diff --git a/metron-deployment/vagrant/full-dev-platform/README.md b/metron-deployment/vagrant/full-dev-platform/README.md
index 5108448..03b2904 100644
--- a/metron-deployment/vagrant/full-dev-platform/README.md
+++ b/metron-deployment/vagrant/full-dev-platform/README.md
@@ -14,20 +14,20 @@
 
  - [Ansible](https://github.com/ansible/ansible) 2.0.0.2
  - [Vagrant](https://www.vagrantup.com) 1.8.1
- - [Virtualbox](virtualbox.org) 5.0.16
+ - [Virtualbox](https://virtualbox.org) 5.0.16
  - Python 2.7.11
  - Maven 3.3.9
 
-#### OS X
+#### macOS
 
-Any platform that supports these tools is suitable, but the following instructions cover installation on Mac OS X.  The easiest means of installing these tools on a Mac is to use the excellent [Homebrew](http://brew.sh/) project.
+Any platform that supports these tools is suitable, but the following instructions cover installation on macOS.  The easiest means of installing these tools on a Mac is to use the excellent [Homebrew](http://brew.sh/) project.
 
 1. Install Homebrew by following the instructions at [Homebrew](http://brew.sh/).
 
 2. Run the following command in a terminal to install all of the required tools.
 
   ```  
-  brew cask install vagrant virtualbox
+  brew cask install vagrant virtualbox java
   brew install maven git
   brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/ee1273bf919a5e4e50838513a9e55ea423e1d7ce/Formula/ansible.rb
   brew switch ansible 2.0.0.2
diff --git a/metron-deployment/vagrant/quick-dev-platform/README.md b/metron-deployment/vagrant/quick-dev-platform/README.md
index 5e2442d..1015563 100644
--- a/metron-deployment/vagrant/quick-dev-platform/README.md
+++ b/metron-deployment/vagrant/quick-dev-platform/README.md
@@ -16,7 +16,7 @@
 
  - [Ansible](https://github.com/ansible/ansible) 2.0.0.2
  - [Vagrant](https://www.vagrantup.com) 1.8.1
- - [Virtualbox](virtualbox.org) 5.0.16
+ - [Virtualbox](https://virtualbox.org) 5.0.16
  - Python 2.7.11
  - Maven 3.3.9
 
diff --git a/metron-platform/metron-common/README.md b/metron-platform/metron-common/README.md
index fbf3b50..872b320 100644
--- a/metron-platform/metron-common/README.md
+++ b/metron-platform/metron-common/README.md
@@ -32,15 +32,12 @@
 ## Stellar Language Keywords
 The following keywords need to be single quote escaped in order to be used in Stellar expressions:
 
-|              |              |           |
-|   :---:       |     :---:     |   :---:     | 
-| not| else | exists | 
-| if | then | and |
-| or | == | != | < |
-| <= | \> | \>= |
-| ? | \+ | \- |
-| , | \* | / |
-|  | \* | / |
+|               |               |             |             |             |
+| :-----------: | :-----------: | :---------: | :---------: | :---------: |
+| not           | else          | exists      | if          | then        |
+| and           | or            | ==          | !=          | \<          |
+| \<=           | \>            | \>=         | \+          | \-          |
+| ?             | \*            | /           | ,           |             |
 
 Using parens such as: "foo" : "\<ok\>" requires escaping; "foo": "\'\<ok\>\'"
 
@@ -96,7 +93,7 @@
 | [ `ENRICHMENT_GET`](#enrichment_get)                                                               |
 | [ `FILL_LEFT`](#fill_left)                                                                         |
 | [ `FILL_RIGHT`](#fill_right)                                                                       |
-| [ `FORMAT`](#format)                                                                       |
+| [ `FORMAT`](#format)                                                                               |
 | [ `HLLP_CARDINALITY`](../../metron-analytics/metron-statistics#hllp_cardinality)                   |
 | [ `HLLP_INIT`](../../metron-analytics/metron-statistics#hllp_init)                                 |
 | [ `HLLP_MERGE`](../../metron-analytics/metron-statistics#hllp_merge)                               |
diff --git a/site-book/bin/generate-md.sh b/site-book/bin/generate-md.sh
index df97c76..623e141 100755
--- a/site-book/bin/generate-md.sh
+++ b/site-book/bin/generate-md.sh
@@ -196,7 +196,7 @@
             sed -i -e "${HREF_REWRITE_LIST[ $(( i + 1 )) ]}" "${HREF_REWRITE_LIST[$i]}"
 	    ;;
 	darwin*)
-            # Mac OS X sed needs an empty-string argument after -i option to get the same result
+            # MacOS sed needs an empty-string argument after -i option to get the same result
             sed -i '' -e "${HREF_REWRITE_LIST[ $(( i + 1 )) ]}" "${HREF_REWRITE_LIST[$i]}"
 	    ;;
 	*)