Continue spec. conversion to markdown and add navigation (#950)

* Add general schema markdown.

* Add general schema markdown.

* Fix Index navigation on all pages.

* Add general schema and convert parameter schema to markdown

* Add general schema and convert parameter schema to markdown

* Add general schema and convert parameter schema to markdown

* Convert Parameter schema tables to markdown.

* Fix index nav. and convert hostory to markdown.

* Convert to markdown.

* Fix all bottom index navs.

* Fix all bottom index navs.

* Fix all bottom index navs.

* Fix greater-than, less-than conversions.

* Fix greater-than, less-than conversions.

* Fix greater-than, less-than conversions.

* Separate Trigger and Rule pages, add quick links.

* Fix namespacing page.

* Fix history table.

* Fix history table.

* Fix history table.

* Fix history table.

* Fix history table.

* Fix history table.

* Fix history table.

* Fix history table.

* Fix history table.

* Fix history table.

* Fix history table.

* Update Action page to use markdown instead of HTML.

* Update Action page to use markdown instead of HTML.

* Update Action page to use markdown instead of HTML.

* Update Action page to use markdown instead of HTML.

* Update Action page to use markdown instead of HTML.

* Update Action page to use markdown instead of HTML.

* Update Action page to use markdown instead of HTML.

* Update Action page to use markdown instead of HTML.

* Update Action page to use markdown instead of HTML.

* Update Action page to use markdown instead of HTML.

* Update Action page to use markdown instead of HTML.

* Update Action page to use markdown instead of HTML.

* Update Action page to use markdown instead of HTML.

* Update Action page to use markdown instead of HTML.

* Update Action page to use markdown instead of HTML.

* Update runtime table.

* Fix 'code' to be a valid field and add requirements around it.

* Fix 'code' to be a valid field and add requirements around it.
diff --git a/specification/README.md b/specification/README.md
index f15176c..74cbdfb 100644
--- a/specification/README.md
+++ b/specification/README.md
@@ -54,15 +54,17 @@
 - [Package processing](html/spec_package_processing.md#package-processing) - describes how the developers can use Package Manifests and Deployment files with the ```wskdeploy``` utility.
 - [Grammar](html/spec_grammar.md#grammar) - describes the YAML grammar the specification builds upon.
 
-#### Schema
+#### [Schema](html/spec_schema.md#schema)
 - [Parameter Types](html/spec_parameter_types.md#parameter-types) - supported YAML and OpenWhisk Types.
 - [Parameters](html/spec_parameters.md#parameters) - grammar, schema and examples for input and output parameters.
+- [Maps](html/spec_maps.md#map-schema) - schema for using the Map parameter type.
 - [Entity Schema](html/spec_shared_entity_schema.md#shared-entity-schema) - keys that are common to all entities in the programming model.
-- [Entity Naming & Namespacing](html/spec_entity_naming_and_namespacing.md#naming-and-namespacing) - describes what characters can be used to name Packages, Actions, Triggers and Rules and how to manage them with namespaces.
 - [Packages](html/spec_packages.md#packages) - grammar, schema and examples for Packages.
 - [Actions](html/spec_actions.md#actions) - grammar, schema and examples for Actions.
-- [Triggers and Rules](html/spec_trigger_rule.md#triggers-and-rules) - grammar, schema and examples for Triggers and Rules.
-- [Sequences](html/spec_sequences.md#sequences) - shema to compose multiple Actions into a sequence.
+- [Triggers](html/spec_trigger.md#triggers) - grammar, schema and examples for Triggers.
+- [Rules](html/spec_rule.md#rules) - grammar, schema and examples for Rules.
+- [Sequences](html/spec_sequences.md#sequences) - schema to compose multiple Actions into a single, named Action sequence.
+- [Entity Naming & Namespacing](html/spec_entity_naming_and_namespacing.md#naming-and-namespacing) - describes what characters can be used to name Packages, Actions, Triggers and Rules and how to manage them with namespaces.
 
 #### References
 - [Normative & Non-normative References](html/spec_normative_refs.md)
diff --git a/specification/html/spec_actions.md b/specification/html/spec_actions.md
index a08f577..bc74dd9 100644
--- a/specification/html/spec_actions.md
+++ b/specification/html/spec_actions.md
@@ -19,87 +19,37 @@
 
 ## Actions
 
+#### Subsections
+- [Fields](#fields)
+- [Requirements](#requirements)
+- [Notes](#notes)
+- [Grammar](#grammar)
+- [Example](#example)
+- [Valid Runtime names](#valid-runtime-names)
+- [Recognized File extensions](#recognized-file-extensions)
+- [Valid Limit keys](#valid-limit-keys)
+
 The Action entity schema contains the necessary information to deploy an OpenWhisk function and define its deployment configurations, inputs and outputs.
 
 ### Fields
-<html>
-<table>
-  <tr>
-   <th width="80">Key Name</th>
-   <th>Required</th>
-   <th>Value Type</th>
-   <th>Default</th>
-   <th>Description</th>
-  </tr>
- <tr>
-  <td>version</td>
-  <td>no</td>
-  <td>version</td>
-  <td>N/A</td>
-  <td>The optional user-controlled version for the Action.</td>
- </tr>
- <tr>
-  <td>function</td>
-  <td>yes</td>
-  <td>string</td>
-  <td>N/A</td>
-  <td>Required source location (path inclusive) of the Action code either:
-    <ul>
-      <li>Relative to the Package manifest file.</li>
-      <li>Relative to the specified Repository.</li>
-    </ul>
-  </td>
- </tr>
- <tr>
-  <td>runtime</td>
-  <td>no</td>
-  <td>string</td>
-  <td>N/A</td>
-  <td>The required runtime name (and optional version) that the Action code requires for an execution environment.
-  <p><i>Note: May be optional if tooling allowed to make assumptions about file extensions.</i></p>
-  </td>
- </tr>
- <tr>
-  <td>inputs</td>
-  <td>no</td>
-  <td>list of parameter</td>
-  <td>N/A</td>
-  <td>The optional ordered list inputs to the Action.</td>
- </tr>
- <tr>
-  <td>outputs</td>
-  <td>no</td>
-  <td>list of parameter</td>
-  <td>N/A</td>
-  <td>The optional outputs from the Action.</td>
- </tr>
- <tr>
-  <td>limits</td>
-  <td>no</td>
-  <td>map of limit keys and values</a></td>
-  <td>N/A</td>
-  <td>Optional map of limit keys and their values.
-  <p><i>See section '</i><a href="#TABLE_LIMIT_KEYS"><i>Valid limit keys</i></a><i>' below for a listing of recognized keys and values.</i></p>
-  </td>
- </tr>
- <tr>
-  <td>feed</td>
-  <td>no</td>
-  <td>boolean</td>
-  <td>false</td>
-  <td>Optional indicator that the Action supports the required parameters (and operations) to be run as a Feed Action.</td>
- </tr>
- <tr>
-  <td>web-export</td>
-  <td>no</td>
-  <td>boolean</td>
-  <td>false</td>
-  <td>Optionally, turns the Action into a <a href="https://github.com/apache/incubator-openwhisk/blob/master/docs/webactions.md">&quot;<em><u>web actions</u></em>&quot;</a>
-  causing it to return HTTP content without use of an API Gateway.
-  </td>
- </tr>
-</table>
-</html>
+| Key Name | Required | Value Type | Default | Description |
+|:---|:---|:---|:---|:---|
+| version | no | [version](spec_parameter_types.md#openwhisk-types) | N/A | The optional user-controlled version for the Action. |
+| function | yes | string | N/A | Required source location (path inclusive) of the Action code either:<ul><li>Relative to the Package manifest file.</li><li>Relative to the specified Repository.</li></ul> |
+| code | no | string | N/A | This optional field is now replaced by the <em>“function”</em> field. |
+| runtime | maybe | string | N/A | he required runtime name (and optional version) that the Action code requires for an execution environment.<p><i>Note: May be optional if tooling is allowed to make assumptions about file extensions or infer from functional code.</i></p> |
+| inputs | no | list of [parameter](spec_parameters.md) | N/A | The optional ordered list inputs to the Action. |
+| outputs | no | list of [parameter](spec_parameters.md) | N/A | The optional outputs from the Action. |
+| limits | no | map of [limit keys and values](#valid-limit-keys) | N/A | Optional map of limit keys and their values.</br>See section "[Valid limit keys](#valid-limit-keys)" (below) for a listing of recognized keys and values. |
+| feed | no | boolen | false | Optional indicator that the Action supports the required parameters (and operations) to be run as a Feed Action. |
+| web \| web-export | no | boolean | yes \| no \| raw \| false | The optional flag (annotation) that makes the action accessible to REST calls without authentication.<p>For details on all types of Web Actions, see: [Web Actions](https://github.com/apache/incubator-openwhisk/blob/master/docs/webactions.md).</p>|
+| raw-http | no | boolean | false | The optional flag (annotation) to indicate if a Web Action is able to consume the raw contents within the body of an HTTP request.<p><b>Note</b>: this option is ONLY valid if <em>"web"</em> or <em>"web-export"</em> is set to <em>‘true’</em>.<p> |
+| docker | no | string | N/A | The optional key that references a Docker image (e.g., openwhisk/skeleton). |
+| native | no | boolean | false | The optional key (flag) that indicates the Action is should use the Docker skeleton image for OpenWhisk (i.e., short-form for docker: openwhisk/skeleton). |
+| final | no | boolean | false | The optional flag (annotation) which makes all of the action parameters that are already defined immutable.<p><b>Note</b>: this option is ONLY valid if <em>"web"</em> or <em>"web-export"</em> is set to <em>‘true’</em>.<p> |
+| web-custom-options | no | boolean | false | The optional flag (annotation) enables a web action to respond to OPTIONS requests with customized headers, otherwise a [default CORS response](https://github.com/apache/openwhisk/blob/master/docs/webactions.md#options-requests) applies. |
+| require-whisk-auth | no | boolean | false | The optional flag (annotation) protects the web action so that it is only accessible to an authenticated subject. |
+| main | no | string | N/A | The optional name of the function to be aliased as a function named “main”.<p><em><b>Note</b>: by convention, Action functions are required to be called “main”; this field allows existing functions not named “main” to be aliased and accessed as if they were named “main”.</em></p>|
 
 ### Requirements
 
@@ -114,6 +64,9 @@
 'delete', 'pause', etc.).
   - **triggerName**: the fully-qualified name of the trigger which contains events produced from this feed.
   - **authKey**: the Basic auth. credentials of the OpenWhisk user who owns the trigger.
+- The keyname ‘kind’ is currently supported as a synonym for the key named ‘runtime’; in the future it MAY be deprecated.
+- When a code is specified, runtime SHALL be a required field.
+
 
 ### Notes
 
@@ -130,6 +83,7 @@
   <Entity schema>
   version: <version>
   function: <string>
+  code: <string>
   runtime: <name>[@<[range of ]version>]
   inputs:
     <list of parameter>
@@ -138,7 +92,14 @@
   limits:
     <list of limit key-values>
   feed: <boolean> # default: false
-  web-export: <boolean>
+  web | web-export: <boolean> | yes | no | raw
+  raw-http: <boolean>
+  docker: <string>
+  native: <boolean>
+  final: <boolean>
+  web-custom-options: <boolean>
+  require-whisk-auth: <boolean>
+  main: <string>
 ```
 _**Note**: the optional [.<type>] grammar is used for naming Web Actions._
 
@@ -171,78 +132,19 @@
 
 These packages may vary by OpenWhisk release; examples of supported runtimes as of this specification version include:
 
-<html>
-<table>
-
-  <tr>
-   <th>Runtime value</th>
-   <th>OpenWhisk kind</th>
-   <th>image name</th>
-   <th>Description</th>
-  </tr>
-
- <tr>
-  <td>nodejs</td>
-  <td>nodejs</td>
-  <td>nodejsaction:latest</td>
-  <td>Latest NodeJS runtime</td>
- </tr>
- <tr>
-  <td>nodejs@6</td>
-  <td>nodejs:6</td>
-  <td>nodejs6action:latest</td>
-  <td>Latest NodeJS 6 runtime</td>
- </tr>
- <tr>
-  <td>java, java@8</td>
-  <td>java</td>
-  <td>java8action:latest</td>
-  <td>Latest Java language runtime</td>
- </tr>
- <tr>
-  <td>python, python@2</td>
-  <td>python:2</td>
-  <td>python2action:latest</td>
-  <td>Latest Python 2 language runtime</td>
- </tr>
- <tr>
-  <td>python@3</td>
-  <td>python:3</td>
-  <td>python3action:latest</td>
-  <td>Latest Python 3 language runtime</td>
- </tr>
- <tr>
-  <td>swift, swift@2</td>
-  <td>swift</td>
-  <td>swiftaction:latest</td>
-  <td>Latest Swift 2 language runtime</td>
- </tr>
- <tr>
-  <td>swift@3</td>
-  <td>swift:3</td>
-  <td>swift3action:latest</td>
-  <td>Latest Swift 3 language runtime</td>
- </tr>
- <tr>
-  <td>swift@3.1.1</td>
-  <td>swift:3.1.1</td>
-  <td>action-swift-v3.1.1:latest</td>
-  <td>Latest Swift 3.1.1 language runtime</td>
- </tr>
- <tr>
-  <td>php</td>
-  <td>php:7.1</td>
-  <td>action-php-v7.1:latest</td>
-  <td>Latest PHP language runtime</td>
- </tr>
- <tr>
-  <td>language:default</td>
-  <td>N/A</td>
-  <td>N/A</td>
-  <td>Permit the OpenWhisk platform to select the correct default language runtime.</td>
- </tr>
-</table>
-</html>
+| Runtime value | OpenWhisk kind | Docker image name | Description |
+|:---|:---|:---|:---|
+| nodejs | nodejs | openwhisk/nodejsaction:latest | Latest NodeJS runtime |
+| nodejs@6 | nodejs:6 | openwhisk/nodejs6action:latest | Latest NodeJS 6 runtime |
+| nodejs@8 | nodejs:8 | openwhisk/action-nodejs-v8:latest | Latest NodeJS 8 runtime |
+| java, java@8 | java | openwhisk/java8action:latest | Latest Java (8) language runtime |
+| php, php@7.1 | php:7.1 | openwhisk/action-php-v7.1:latest | Latest PHP (7.1) language runtime |
+| python, python@2 | python:2 | openwhisk/python2action:latest | Latest Python 2 language runtime |
+| python@3 | python:3 | openwhisk/python3action:latest | Latest Python 3 language runtime |
+| swift | swift | openwhisk/swiftaction:latest | Latest Swift language runtime |
+| swift@3 | swift | openwhisk/swift3action:latest | Latest Swift 3 language runtime |
+| swift@3.1.1 | swift | openwhisk/action-swift-v3.1.1:latest | Latest Swift 3.1.1 language runtime |
+| language:default | N/A | N/A | Permit the OpenWhisk platform to select the correct default language runtime. |
 
 #### Notes
 - If no value for runtime is supplied, the value 'language:default' will be assumed.
@@ -259,7 +161,6 @@
    <th>Runtime used</th>
    <th>Description</th>
   </tr>
-
  <tr>
   <td>.js</td>
   <td>nodejs</td>
@@ -299,7 +200,6 @@
    <th>Valid Range</th>
    <th>Description</th>
   </tr>
-
  <tr>
   <td>timeout</td>
   <td>scalar-unit.time</td>
@@ -373,12 +273,6 @@
 ---
 <html>
 <div align="center">
-<table align="center">
-  <tr>
-    <!-- <td><a href="">&lt;&lt;&nbsp;previous</a></td> -->
-    <td><a href="spec_index.md#openwhisk-package-specification-html">Specification Index</a></td>
-    <!-- <td><a href="">next&nbsp;&gt;&gt;</a></td> -->
-  </tr>
-</table>
+<a href="../README.md#index">Index</a>
 </div>
 </html>
diff --git a/specification/html/spec_definitions.md b/specification/html/spec_definitions.md
index 0e3236c..2fdaa58 100644
--- a/specification/html/spec_definitions.md
+++ b/specification/html/spec_definitions.md
@@ -45,3 +45,13 @@
 Any resource, including a functional task, that is provided over the
 Internet. This includes delivery models such as *Platform as a Service*
 (PaaS), *Infrastructure as a* Service (IaaS), as well as *Serverless*.
+
+<!--
+ Bottom Navigation
+-->
+---
+<html>
+<div align="center">
+<a href="../README.md#index">Index</a>
+</div>
+</html>
diff --git a/specification/html/spec_entity_naming_and_namespacing.md b/specification/html/spec_entity_naming_and_namespacing.md
index 6c7c8f3..1e37fc7 100644
--- a/specification/html/spec_entity_naming_and_namespacing.md
+++ b/specification/html/spec_entity_naming_and_namespacing.md
@@ -26,17 +26,15 @@
 
 The fully qualified name of any entity has the format:
 
-  -------------------------------------------------------------------
-  /&lt;namespaceName&gt;\[/&lt;packageName&gt;\]/&lt;entityName&gt;
-  -------------------------------------------------------------------
+```
+/<namespaceName>[/<packageName>]/<entityName>
+```
 
-The namespace is typically provided at bind-time by the user deploying
-the package to their chosen OpenWhisk platform provider.
+The namespace is typically provided at bind-time by the user deploying the package to their chosen OpenWhisk platform provider.
 
 #### Requirements
 
--   The “/whisk.system“ namespace is reserved for entities that are
-    distributed with the OpenWhisk system.
+-   The “/whisk.system“ namespace is reserved for entities that are distributed with the OpenWhisk system.
 
 ### Entity Names
 
@@ -44,22 +42,26 @@
 and namespaces, are a sequence of characters that follow the following
 format:
 
--   The first character SHALL be an alphanumeric character, a digit, or
-    an underscore.
+-   The first character SHALL be an alphanumeric character, a digit, or an underscore.
+-   The subsequent characters MAY be alphanumeric, digits, spaces, or any of the following:
+```
+_, @, ., -
+```
+- The last character SHALL NOT be a space.
+- The maximum name length of any entity name is 256 characters (i.e., ENTITY_NAME_MAX_LENGTH = 256).
 
--   The subsequent characters MAY be alphanumeric, digits, spaces, or
-    any of the following:
+Valid entity names are described with the following regular expression (Java metacharacter syntax):
 
-> \_, @, ., -
+```
+"\A([\w]|[\w][\w@ .-]{0,${ENTITY_NAME_MAX_LENGTH - 2}}[\w@.-])\z"
+```
 
--   The last character SHALL NOT be a space.
-
--   The maximum name length of any entity name is 256 characters (i.e.,
-    ENTITY\_NAME\_MAX\_LENGTH = 256).
-
-Valid entity names are described with the following regular expression
-(Java metacharacter syntax):
-
-  -------------------------------------------------------------------------------------
-  "\\A(\[\\w\]|\[\\w\]\[\\w@ .-\]{0,\${ENTITY\_NAME\_MAX\_LENGTH - 2}}\[\\w@.-\])\\z"
-  -------------------------------------------------------------------------------------
+<!--
+ Bottom Navigation
+-->
+---
+<html>
+<div align="center">
+<a href="../README.md#index">Index</a>
+</div>
+</html>
diff --git a/specification/html/spec_grammar.md b/specification/html/spec_grammar.md
index c17bff9..52f87bf 100644
--- a/specification/html/spec_grammar.md
+++ b/specification/html/spec_grammar.md
@@ -20,3 +20,13 @@
 ## Grammar
 
 This specification utilizes the [YAML language](#REF_YAML_1_2), a superset of JSON, which supports key features for packaging descriptors and configuration information such as built-in data types, complex data types, anchors (relational information), files, comments and can embed other data formats such as JSON and XML easily.
+
+<!--
+ Bottom Navigation
+-->
+---
+<html>
+<div align="center">
+<a href="../README.md#index">Index</a>
+</div>
+</html>
diff --git a/specification/html/spec_history.md b/specification/html/spec_history.md
index a1dd8d2..01b5b3f 100644
--- a/specification/html/spec_history.md
+++ b/specification/html/spec_history.md
@@ -19,112 +19,30 @@
 
 ## Revision History
 
-  ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-  Version   Date          Notes
-  --------- ------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-  0.8.1     2016-11-03    Initial public point draft, Working Draft 01
+| Version | Date | Notes |
+|:---|:---|:---|
+| 0.8.1 | 2016-11-03 | <ul><li>Initial public point draft</ul> |
+| 0.8.2 | 2016-12-12 | <ul><li>Begin adding use cases, examples to all sections.</ul> |
+| 0.8.3 | 2017-02-02 | <ul><li>Add more use cases, examples<li> Add description of "$" (dollar) notation</ul> |
+| 0.8.4 | 2017-04-18 | <ul><li>Support JSON parameter type;</br>Clarify use of Parameter single-line grammar and inferred types.<li>Add support for API Gateway mappings.<li>Add support for Web Actions</ul> |
+| 0.8.5 | 2017-04-21 | <ul><li>Add support for “dependencies”, that is allow automatic deployment of other OpenWhisk packages (from GitHub) that the current package declares as a dependency.</ul> |
+| 0.8.6 | 2017-07-25 | <ul><li>Clarified requirements for \$ dollar notation.<li>Updated conceptual Manifest/Deployment File processing images. |
+| 0.8.7 | 2017-08-24 | <ul><li>Added explicit Application entity and grammar.<li>Added API listing to Package entity.<li>Cleaned up pseudo-grammar which contained various uses of credentials in places not intended.<li>Fixed Polygon Tracking example (indentation incorrect).</ul> |
+| 0.8.8 | 2017-08-29 | <ul><li>Created a simplified API entity (i.e., “api”) grammar that allows multiple sets of named APIs for the same basepath.<li>Acknowledge PHP as supported runtime (kind).<li>Added “sequences” entity as a convenient way to declare action sequences in the manifest. Updated supported runtime values.</ul> |
+| 0.8.9 | 2017-09-22 | <ul><li>Clarified “version” key requirements for Package (required) and Action (optional); removed from shared entity schema.</ul> |
+| 0.8.9.1 | 2017-09-29 | <ul><li>Made “license” key optional for package.<li>keyword “package” (singular) and “packages” (plural) both allowed.<li>Adjusted use case examples to reflect these changes.<li>Rework of schema use cases into full, step-by-step examples.<li>Spellcheck, fixed bugs, update examples to match web-based version.</ul> |
+| 0.8.9.1 | 2017-10-06 | <ul><li>Added grammar and example for concatenating string values on input parameters using environment variables.</ul> |
+| 0.9.0 | 2017-11-23 | <ul><li>Identified new user scenarios including: clean, refresh, sync, pre/post processing</ul> |
+| 0.9.1 | 2017-11-30 | <ul><li>Clarified “runtime” field on Action is equivalent to “kind” parameter used on the Apache OpenWhisk CLI for Actions.<li>Added “project” key as an synonym name for “application”.” key, moving application to become deprecated. Project name made required.<li>Support “public” (i.e., publish) key on Package.<li>Documented support for the “raw-http” annotation under Action.<li>Documented support for the “final” annotation under Action.<li>Documented support for the “main” field under Action.<li>Dollar Notation section becomes Interpolation / updates:<ul><li>Supported beyond Parameter values<li>Package names can be interpolated<li>Annotations values can be interpolated<li>Multiple replacements supported in same value</ul><li>Usage scenarios 6-8 added, i.e., Clean, Project Sync, Tool chain support. |
+| 0.9.2 | 2018-02-05 | <ul><li>Fixed and clarified the allowed values for “web-export” on Action.<li>Clarified use of “final” on Action.<li>Added support (planned) for “web-custom-options” and “require-whisk-auth.” flags on Actions (annotations)<li>Deprecate ‘application’ and ‘package’ completely (no longer supported)</ul> |
+| 0.9.2.2 | 2018-04-04 | <ul><li>Allow “web” key as an overload for “web-export” key for to indicate Web Actions.<li>Added Web Sequences, specify a sequence is a Web Action.<li>Added support for Conductor Actions, to align with OpenWhisk CLI support.<li>Added “docker” and “native” binary support under Action.<li>Added in-line “code” support under Action.<li>Support \$\$, double-dollar notation for string literals on parameter values.<li>Added support for “default” package (allowing all entities to be assigned directly under the user’s default namespace), that is not requiring a package name to be created.</ul> |
 
-  0.8.2     2016-12-12    Working Draft 02, Add. Use cases, examples
-
-  0.8.3     2017-02-02    Working Draft 03, Add use cases, examples, \$ notation
-
-  0.8.4     2017-04-18    Working Draft 04,
-
-                          Support JSON parameter type;
-
-                          Clarify use of Parameter single-line grammar and inferred types.
-
-                          Add support for API Gateway mappings.
-
-                          Add support for Web Actions
-
-  0.8.5     2017-04-21    Add support for “dependencies”, that is allow automatic deployment of other OpenWhisk packages (from GitHub) that the current package declares as a dependency.
-
-  0.8.6     2017-07-25    -   Clarified requirements for \$ dollar notation.
-
-                          -   Updated conceptual Manifest/Deployment File processing images.
-
-
-  0.8.7     2017-08-24    -   Added explicit Application entity and grammar.
-
-                          -   Added API listing to Package entity.
-
-                          -   Cleaned up pseudo-grammar which contained various uses of credentials in places not intended.
-
-                          -   Fixed Polygon Tracking example (indentation incorrect).
-
-
-  0.8.8     2017-08-29    -   Created a simplified API entity (i.e., “api”) grammar that allows multiple sets of named APIs for the same basepath.
-
-                          -   Acknowledge PHP as supported runtime (kind).
-
-                          -   Added “sequences” entity as a convenient way to declare action sequences in the manifest. Updated supported runtime values.
-
-
-  0.8.9,    2017-09-22    -   Clarified “version” key requirements for Package (required) and Action (optional); removed from shared entity schema.
-
-  0.8.9.1   2017-09-29    -   Made “license” key optional for package.
-
-                          -   keyword “package” (singular) and “packages” (plural) both allowed.
-
-                          -   Adjusted use case examples to reflect these changes.
-
-                          -   Rework of schema use cases into full, step-by-step examples.
-
-                          -   Spellcheck, fixed bugs, update examples to match web-based version.
-
-
-  0.8.9.1   2017-10-06    -   Added grammar and example for concatenating string values on input parameters using environment variables.
-
-
-  0.9.0,    2017-11-23,   -   Identified new user scenarios including: clean, refresh, sync, pre/post processing
-
-  0.9.1     2017-11-30    -   Clarified “runtime” field on Action is equivalent to “kind” parameter used on the Apache OpenWhisk CLI for Actions.
-
-                          -   Added “project” key as an synonym name for “application”.” key, moving application to become deprecated. Project name made required.
-
-                          -   Support “public” (i.e., publish) key on Package.
-
-                          -   Documented support for the “raw-http” annotation under Action.
-
-                          -   Documented support for the “final” annotation under Action.
-
-                          -   Documented support for the “main” field under Action.
-
-                          -   Dollar Notation section becomes Interpolation / updates
-
-                              -   Supported beyond Parameter values
-
-                              -   Package names can be interpolated
-
-                              -   Annotations values can be interpolated
-
-                              -   Multiple replacements supported in same value
-
-                          -   Usage scenarios 6-8 added, i.e., Clean, Project Sync, Tool chain support.
-
-
-  0.9.2     2018-02-05    -   Fixed and clarified the allowed values for “web-export” on Action.
-
-                          -   Clarified use of “final” on Action.
-
-                          -   Added support (planned) for “web-custom-options” and “require-whisk-auth. ” flags on Actions (annotations)
-
-                          -   Deprecate ‘application’ and ‘package’ completely (no longer supported).
-
-
-  0.9.2.2   2018-04-04    -   Allow “web” key as an overload for “web-export” key for to indicate Web Actions.
-
-                          -   Added Web Sequences, specify a sequence is a Web Action.
-
-                          -   Added support for Conductor Actions, to align with OpenWhisk CLI support.
-
-                          -   Added “docker” and “native” binary support under Action.
-
-                          -   Added in-line “code” support under Action.
-
-                          -   Support \$\$, double-dollar notation for string literals on parameter values.
-
-                          -   Added support for “default” package (allowing all entities to be assigned directly under the user’s default namespace), that is not requiring a package name to be created.
-
-  ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+<!--
+ Bottom Navigation
+-->
+---
+<html>
+<div align="center">
+<a href="../README.md#index">Index</a>
+</div>
+</html>
diff --git a/specification/html/spec_index.md b/specification/html/spec_index.md
deleted file mode 100644
index 702539a..0000000
--- a/specification/html/spec_index.md
+++ /dev/null
@@ -1,37 +0,0 @@
-<!--
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
--->
-
-# OpenWhisk Package Specification (HTML)
-
-Portions of the OpenWhisk Packaging Specification, for convenience, are made available here in HTML format. The canonical source for the specification is in PDF format and can be found within this repository:
-- [https://github.com/apache/incubator-openwhisk-wskdeploy/tree/master/specification](https://github.com/apache/incubator-openwhisk-wskdeploy/tree/master/specification)
-
-# Programming Guide
-If you want to learn how to write Packages and Applications using the specification and deploy them using the ```wskdeploy``` utility, please read the step-by-step guide:
-- "[wskdeploy utility by example](../../docs/programming_guide.md#wskdeploy-utility-by-example)"
-
-## Index
-- [Parameters](spec_parameters.md#parameters) - grammar, schema and examples for input and output parameters.
-- [Parameter Types](spec_types.md#parameter-types) - supported YAML and OpenWhisk Types.
-- [Shared Entity Schema](spec_shared_entity_schema.md#shared-entity-schema) - fields that are common among entities in the programming model.
-- [Packages](spec_packages.md#packages) - grammar, schema and examples for Packages.
-- [Actions](spec_actions.md#actions) - grammar, schema and examples for Actions.
-- [Triggers and Rules](spec_trigger_rule.md#triggers-and-rules) - grammar, schema and examples for Triggers and Rules.
-- [Sequences](spec_sequences.md#sequences) - schema to compose multiple Actions into a sequence.
-- [Normative & Non-normative References](spec_normative_refs.md)
diff --git a/specification/html/spec_intro.md b/specification/html/spec_intro.md
index 9b1b2ff..ac6b8e5 100644
--- a/specification/html/spec_intro.md
+++ b/specification/html/spec_intro.md
@@ -19,40 +19,34 @@
 
 # Introduction
 
-Apache OpenWhisk™ is an open source, distributed Serverless computing
-project.
+Apache OpenWhisk™ is an open source, distributed Serverless computing project.
 
-Specifically, it is able to execute application logic (*Actions*) in
-response to events (*Triggers*) from external sources (*Feeds*) governed
-by simple conditional logic (*Rules*) around the event data.
+Specifically, it is able to execute application logic (*Actions*) in response to events (*Triggers*) from external sources (*Feeds*) governed by simple conditional logic (*Rules*) around the event data.
 
-It provides a programming model for registering and managing *Actions*,
-*Triggers* and *Rules* supported by a REST-based Command Line Interface
-(CLI) along with tooling to support packaging and catalog services.
+It provides a programming model for registering and managing *Actions*, *Triggers* and *Rules* supported by a REST-based Command Line Interface (CLI) along with tooling to support packaging and catalog services.
 
-The project includes a catalog of built-in system and utility *Actions*
-and *Feeds*, along with a robust set of samples that demonstrate how to
-integrate OpenWhisk with various external service providers (e.g.,
-GitHub, Slack, etc.) along with several platform and run-time Software
+The project includes a catalog of built-in system and utility *Actions* and *Feeds*, along with a robust set of samples that demonstrate how to integrate OpenWhisk with various external service providers (e.g., GitHub, Slack, etc.) along with several platform and run-time Software
 Development Kits (SDKs).
 
-The code for the Actions, along with any support services implementing
-*Feeds*, are packaged according to this specification to be compatible
-with the OpenWhisk catalog and its tooling. It also serves as a means
-for architects and developers to model OpenWhisk package Actions as part
-of full, event-driven services and applications providing the necessary
-information for artifact and data type validation along with package
-management operations.
+The code for the Actions, along with any support services implementing *Feeds*, are packaged according to this specification to be compatible with the OpenWhisk catalog and its tooling. It also serves as a means for architects and developers to model OpenWhisk package Actions as part
+of full, event-driven services and applications providing the necessary information for artifact and data type validation along with package management operations.
 
 ### Compatibility
 
-This specification is intended to be compatible with the following
-specifications:
+This specification is intended to be compatible with the following specifications:
 
 -   *OpenWhisk API which is defined as an OpenAPI document: *
-
-    -   <https://raw.githubusercontent.com/openwhisk/openwhisk/master/core/controller/src/main/resources/whiskswagger.json>
+    -   <https://github.com/apache/openwhisk/blob/master/core/controller/src/main/resources/apiv1swagger.json>
 
 -   *OpenAPI Specification when defining REST APIs and parameters:*
-
     -   <https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md>
+
+<!--
+ Bottom Navigation
+-->
+---
+<html>
+<div align="center">
+<a href="../README.md#index">Index</a>
+</div>
+</html>
diff --git a/specification/html/spec_maps.md b/specification/html/spec_maps.md
new file mode 100644
index 0000000..438e457
--- /dev/null
+++ b/specification/html/spec_maps.md
@@ -0,0 +1,65 @@
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+#### Map schema
+
+The Map schema is used to define maps of key values within OpenWhisk
+entities.
+
+##### Single-line grammar
+
+```yaml
+{ <key_1>: <value_1>, ..., <key_n>: <value_n> }
+```
+
+##### Multi-line grammar
+```yaml
+# Where ‘key_n’ is a type <string> and ‘value_n’ is type <any>.
+<key_1>: <value_1>
+...
+<key_n>: <value_n>
+
+```
+
+##### Examples
+
+###### Single-line
+
+```yaml
+alert_levels: { “high”: “red”, “medium”: “yellow”, “low”: green }
+```
+
+###### Multi-line
+
+```yaml
+alert_levels:
+  “high”: “red”
+  “medium”: “yellow”
+  “low”: green
+```
+
+<!--
+ Bottom Navigation
+-->
+---
+<html>
+<div align="center">
+<a href="../README.md#index">Index</a>
+</div>
+</html>
diff --git a/specification/html/spec_normative_refs.md b/specification/html/spec_normative_refs.md
index 379cfc4..f9f5587 100644
--- a/specification/html/spec_normative_refs.md
+++ b/specification/html/spec_normative_refs.md
@@ -172,12 +172,6 @@
 ---
 <html>
 <div align="center">
-<table align="center">
-  <tr>
-    <!-- <td><a href="">&lt;&lt;&nbsp;previous</a></td> -->
-    <td><a href="spec_index.md#openwhisk-package-specification-html">Specification Index</a></td>
-    <!-- <td><a href="">next&nbsp;&gt;&gt;</a></td> -->
-  </tr>
-</table>
+<a href="../README.md#index">Index</a>
 </div>
 </html>
diff --git a/specification/html/spec_package_processing.md b/specification/html/spec_package_processing.md
index 26b7bdb..29a501f 100644
--- a/specification/html/spec_package_processing.md
+++ b/specification/html/spec_package_processing.md
@@ -53,3 +53,13 @@
 by developer tooling to integrate OpenWhisk Serverless functions.
 
 ![Manifest file deployment](images/conceptual_manifest_file_deployment.png "image showing manifest deployment")
+
+<!--
+ Bottom Navigation
+-->
+---
+<html>
+<div align="center">
+<a href="../README.md#index">Index</a>
+</div>
+</html>
diff --git a/specification/html/spec_packages.md b/specification/html/spec_packages.md
index 5da4b5d..5bc3297 100644
--- a/specification/html/spec_packages.md
+++ b/specification/html/spec_packages.md
@@ -192,12 +192,6 @@
 ---
 <html>
 <div align="center">
-<table align="center">
-  <tr>
-    <!-- <td><a href="">&lt;&lt;&nbsp;previous</a></td> -->
-    <td><a href="spec_index.md#openwhisk-package-specification-html">Specification Index</a></td>
-    <!-- <td><a href="">next&nbsp;&gt;&gt;</a></td> -->
-  </tr>
-</table>
+<a href="../README.md#index">Index</a>
 </div>
 </html>
diff --git a/specification/html/spec_parameter_types.md b/specification/html/spec_parameter_types.md
index b1e86e8..68df2b7 100644
--- a/specification/html/spec_parameter_types.md
+++ b/specification/html/spec_parameter_types.md
@@ -154,12 +154,6 @@
 ---
 <html>
 <div align="center">
-<table align="center">
-  <tr>
-    <!-- <td><a href="">&lt;&lt;&nbsp;previous</a></td> -->
-    <td><a href="spec_index.md#openwhisk-package-specification-html">Specification Index</a></td>
-    <!-- <td><a href="">next&nbsp;&gt;&gt;</a></td> -->
-  </tr>
-</table>
+<a href="../README.md#index">Index</a>
 </div>
 </html>
diff --git a/specification/html/spec_parameters.md b/specification/html/spec_parameters.md
index 799f5be..fc94369 100644
--- a/specification/html/spec_parameters.md
+++ b/specification/html/spec_parameters.md
@@ -19,160 +19,23 @@
 
 # Parameters
 
+- [Parameter schema](#parameter-schema)
 - [Dollar Notation ($)](#dollar-notation--schema-for-values)
 
 ## Parameter schema
 The Parameter schema is used to define input and/or output data to be used by OpenWhisk entities for the purposes of validation.
 
 ### Fields
-<html>
-<table width="100%">
-  <tr>
-   <th>Key Name</th>
-   <th>Required</th>
-   <th>Value Type</th>
-   <th>Default</th>
-   <th>Description</th>
-  </tr>
- <tr>
-  <td>
-  <p>type</p>
-  </td>
-  <td>
-  <p>no</p>
-  </td>
-  <td>
-  <p>&lt;any&gt;</p>
-  </td>
-  <td>
-  <p>string</p>
-  </td>
-  <td>
-  <p>Optional valid type name or the parameter's value for validation purposes. By default, the type is string.</p>
-  </td>
- </tr>
- <tr>
-  <td>
-  <p>description</p>
-  </td>
-  <td>
-  <p>no</p>
-  </td>
-  <td>
-  <p>string256</p>
-  </td>
-  <td>
-  <p>N/A</p>
-  </td>
-  <td>
-  <p>Optional description of the Parameter.</p>
-  </td>
- </tr>
- <tr>
-  <td>
-  <p>value</p>
-  </td>
-  <td>
-  <p>no </p>
-  </td>
-  <td>
-  <p>&lt;any&gt;</p>
-  </td>
-  <td>
-  <p>N/A</p>
-  </td>
-  <td>
-  <p>The optional user supplied value for the parameter.</p>
-  <p>Note: this is not the default value, but an explicit declaration which allows simple usage of the Manifest file without a Deployment file.</p>
-  </td>
- </tr>
- <tr>
-  <td>
-  <p>required</p>
-  </td>
-  <td>
-  <p>no</p>
-  </td>
-  <td>
-  <p>boolean</p>
-  </td>
-  <td>
-  <p>true</p>
-  </td>
-  <td>
-  <p>Optional indicator to declare the parameter as required (i.e., ```true```) or optional (i.e., ```false```).</p>
-  </td>
- </tr>
- <tr>
-  <td>
-  <p>default</p>
-  </td>
-  <td>
-  <p>no</p>
-  </td>
-  <td>
-  <p>&lt;any&gt;</p>
-  </td>
-  <td>
-  <p>N/A</p>
-  </td>
-  <td>
-  <p>Optional default value for the optional parameters. This value <b>MUST</b> be type compatible with the value declared on the parameter's type field.</p>
-  </td>
- </tr>
- <tr>
-  <td>
-  <p>status</p>
-  </td>
-  <td>
-  <p>no</p>
-  </td>
-  <td>
-  <p>string</p>
-  </td>
-  <td>
-  <p>supported</p>
-  </td>
-  <td>
-  <p>Optional status of the parameter (e.g., deprecated, experimental). By default a parameter is without a declared status is considered supported.</p>
-  </td>
- </tr>
- <tr>
-  <td>
-  <p>schema</p>
-  </td>
-  <td>
-  <p>no</p>
-  </td>
-  <td>
-  <p>&lt;schema&gt;</p>
-  </td>
-  <td>
-  <p>N/A</p>
-  </td>
-  <td>
-  <p>The optional schema if the 'type' key has the value 'schema'. The value would include a <b>Schema</b> <b>Object</b> (in YAML) as defined by the <a href="See%20https:/github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#schemaObject">OpenAPI Specifcation v2.0</a>. This object is based upon the href="http://json-schema.org/">JSON Schema Specification.</a></p>
-  </td>
- </tr>
- <tr>
-  <td>
-  <p>properties</p>
-  </td>
-  <td>
-  <p>no</p>
-  </td>
-  <td>
-  <p>&lt;list of parameter&gt;</p>
-  </td>
-  <td>
-  <p>N/A</p>
-  </td>
-  <td>
-  <p>The optional properties if the 'type' key has the value 'object'. Its value is a listing of Parameter schema from this specification.</p>
-  </td>
- </tr>
-</table>
-</html>
+| Key Name | Required | Value Type | Default | Description |
+|:---|:---|:---|:---|:---|
+| type       | no | _&lt;any&gt;_ | string | Optional valid type name or the parameter’s value for alidation purposes. By default, the type is string. |
+| description | no | string256 | N/A | Optional description of the Parameter. |
+| value      | no | _&lt;any&gt;_ | N/A | The optional user supplied value for the parameter.</br> Note: this is not the default value, but an explicit declaration which allows simple usage of the Manifest file without a Deployment file. |
+| required   | no | boolean    | true | Optional indicator to declare the parameter as required (i.e., true) or optional (i.e., false). |
+|  default   | no | _&lt;any&gt;_ | N/A | Optional default value for the optional parameters. This value **MUST** be type compatible with the value declared on the parameter’s type field. |
+| status     | no | string     | supported | Optional status of the parameter (e.g., deprecated, experimental). By default a parameter is without a declared status is considered supported. |
+| schema     | no | _&lt;schema&gt;_ | N/A | The optional schema if the ‘type‘ key has the value ‘schema‘. The value would include a **Schema** **Object** (in YAML) as defined by the [OpenAPI Specification v2.0](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#schemaObject). This object is based upon the [JSON Schema Specification.](http://json-schema.org/) |
+| properties | no |  _&lt;list of parameter&gt;_ | N/A | The optional properties if the ‘type‘ key has the value ‘object‘. Its value is a listing of Parameter schema from this specification. |
 
 ### Requirements
 
@@ -198,44 +61,46 @@
 
 ### Status values
 
-<table width="100%">
-  <tr>
-   <td>
-   <p>Status Value</p>
-   </td>
-   <td>
-   <p>Description</p>
-   </td>
-  </tr>
+| Status Value | Description |
+|:---|:---|
+| supported (default) | Indicates the parameter is supported. This is the implied default status value for all parameters. |
+| experimental | Indicates the parameter MAY be removed or changed in future versions. |
+| deprecated | Indicates the parameter is no longer supported in the current version and MAY be ignored. |
 
- <tr>
-  <td>
-  <p>supported (default)</p>
-  </td>
-  <td>
-  <p>Indicates the parameter is supported.&nbsp; This is the
-  implied default status value for all parameters.</p>
-  </td>
- </tr>
- <tr>
-  <td>
-  <p>experimental</p>
-  </td>
-  <td>
-  <p>Indicates the parameter MAY be removed or changed in
-  future versions.</p>
-  </td>
- </tr>
- <tr>
-  <td>
-  <p>deprecated</p>
-  </td>
-  <td>
-  <p>Indicates the parameter is no longer supported in the
-  current version and MAY be ignored.</p>
-  </td>
- </tr>
-</table>
+#### Shared Entity Schema
+
+The Entity Schema contains fields that are common (shared) to all
+OpenWhisk entities (e.g., Actions, Triggers, Rules, etc.).
+
+##### Fields
+
+|  Key Name | Required | Value Type | Default | Description
+|:---|:---|:---|:---|:---|
+| description | no | string256 | N/A | The optional description for the Entity. |
+| displayName | no | string16 | N/A | This is the optional name that will be displayed on small form-factor devices. |
+| annotations | no | map of _&lt;string>&gt;_ | N/A | he optional annotations for the Entity. |
+
+##### Grammar
+
+```yaml
+description: <string256>
+displayName: <string16>
+annotations: <map of <string>>
+```
+
+##### Requirements
+
+- Non-required fields MAY be stored as “annotations” within the OpenWhisk framework after they have been used for processing.
+- "description" string values SHALL be limited to 256 characters.
+- "displayName" string values SHALL be limited to 16 characters.
+- "annotations" MAY be ignored by target consumers of the Manifest file as they are considered data non-essential to the deployment of management of OpenWhisk entities themselves.
+    - Target consumers MAY preserve (persist) these values, but are not required to.
+- For any OpenWhisk Entity, the maximum size of all "annotations" (values) SHALL be 256 characters.
+
+##### Notes
+
+- Several, non-normative "annotations" keynames and allowed values (principally for User Interface (UI) design and tooling information) may be defined in this specification or optional usage.
+
 
 ## Dollar Notation ($) schema for values
 
@@ -260,7 +125,7 @@
 ### Notes
 
 - Processors or tooling that encounter ($) Dollar notation for values should attempt to locate the corresponding named variables set into the local execution environment (e.g., where the tool was invoked) and assign its value to the named input parameter for the OpenWhisk entity.
-- This specification does not currently consider using this notation for other than simple data types (i.e., we support this mechanism for values such as strings, integers, floats, etc.) at this time.
+- This specification does not currently consider using this notation for other than simple data types (i.e., we support this mechanism for values such as `strings`, `integers`, `floats`, etc.) at this time.
 
 
 <!--
@@ -269,12 +134,6 @@
 ---
 <html>
 <div align="center">
-<table align="center">
-  <tr>
-    <!-- <td><a href="">&lt;&lt;&nbsp;previous</a></td> -->
-    <td><a href="spec_index.md#openwhisk-package-specification-html">Specification Index</a></td>
-    <!-- <td><a href="">next&nbsp;&gt;&gt;</a></td> -->
-  </tr>
-</table>
+<a href="../README.md#index">Index</a>
 </div>
 </html>
diff --git a/specification/html/spec_programming_model.md b/specification/html/spec_programming_model.md
index 2476357..e02b4d8 100644
--- a/specification/html/spec_programming_model.md
+++ b/specification/html/spec_programming_model.md
@@ -19,6 +19,10 @@
 
 ## Programming model
 
+- [OpenWhisk Entities](#openWhisk-entities)
+- [Action Composition](#action-composition)
+- [Cardinality](#cardinality)
+
 ### OpenWhisk Entities
 
 OpenWhisk uses the following entities to describe its programming model:
@@ -90,3 +94,13 @@
 ### Conceptual representation
 
 ![Conceptual representation of the OpenWhisk programming model](images/conceptual_programming_model.png "image showing conceptual programming model")
+
+<!--
+ Bottom Navigation
+-->
+---
+<html>
+<div align="center">
+<a href="../README.md#index">Index</a>
+</div>
+</html>
diff --git a/specification/html/spec_rule.md b/specification/html/spec_rule.md
new file mode 100644
index 0000000..263389e
--- /dev/null
+++ b/specification/html/spec_rule.md
@@ -0,0 +1,131 @@
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+## Rules
+
+The Rule entity schema contains the information necessary to associates one trigger with one action, with every firing of the trigger causing the corresponding action to be invoked with the trigger event as input. For more information, see the document "[Creating Triggers and Rules](https://github.com/apache/incubator-openwhisk/blob/master/docs/triggers_rules.md)".
+
+#### Subsections
+- [Fields](#fields)
+- [Requirements](#requirements)
+- [Notes](#notes)
+- [Grammar](#grammar)
+- [Example](#example)
+
+### Fields
+<html>
+<table>
+  <tr>
+   <th>Key Name</th>
+   <th>Required</th>
+   <th>Value Type</th>
+   <th>Default</th>
+   <th>Description</th>
+  </tr>
+
+ <tr>
+  <td>
+  <p>trigger</p>
+  </td>
+  <td>
+  <p>yes</p>
+  </td>
+  <td>
+  <p>string</p>
+  </td>
+  <td>
+  <p>N/A</p>
+  </td>
+  <td>
+  <p>Required name of the Trigger the Rule applies to.</p>
+  </td>
+ </tr>
+ <tr>
+  <td>
+  <p>action</p>
+  </td>
+  <td>
+  <p>yes</p>
+  </td>
+  <td>
+  <p>string</p>
+  </td>
+  <td>
+  <p>N/A</p>
+  </td>
+  <td>
+  <p>Required name of the Action the Rule applies to.</p>
+  </td>
+ </tr>
+ <tr>
+  <td>
+  <p>rule</p>
+  </td>
+  <td>
+  <p>no</p>
+  </td>
+  <td>
+  <p>regex</p>
+  </td>
+  <td>
+  <p>true</p>
+  </td>
+  <td>
+  <p>The optional regular expression that determines if the Action is fired.</p>
+  <p><i>Note: In this version of the specification, only the expression 'true' is currently supported.</i></p>
+  </td>
+ </tr>
+</table>
+</html>
+
+### Requirements
+- The Rule name (i.e., <ruleName>) MUST be less than or equal to 256 characters.
+- The Rule entity schema includes all general [Entity Schem](#TBD) fields in addition to any fields
+declared above.
+
+### Notes
+- OpenWhisk only supports a value of '```true```' for the '```rule```' key's value at this time.
+
+### Grammar
+```yaml
+<ruleName>:
+  description: <string>
+  trigger: <string>
+  action: <string>
+  rule: <regex>
+```
+
+### Example
+
+```yaml
+my_rule:
+  description: Enable events for my Action
+  trigger: my_trigger
+  action: my_action
+```
+
+<!--
+ Bottom Navigation
+-->
+---
+<html>
+<div align="center">
+<a href="../README.md#index">Index</a>
+</div>
+</html>
diff --git a/specification/html/spec_schema.md b/specification/html/spec_schema.md
new file mode 100644
index 0000000..d7eb418
--- /dev/null
+++ b/specification/html/spec_schema.md
@@ -0,0 +1,36 @@
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+# Schema
+
+This section defines all the essential schema used to describe OpenWhisk packages and programming model entities within a manifest.
+
+### General Requirements
+
+- All key and field names in this specification SHALL be case sensitive.
+
+<!--
+ Bottom Navigation
+-->
+---
+<html>
+<div align="center">
+<a href="../README.md#index">Index</a>
+</div>
+</html>
diff --git a/specification/html/spec_sequences.md b/specification/html/spec_sequences.md
index dcc6d74..146ec83 100644
--- a/specification/html/spec_sequences.md
+++ b/specification/html/spec_sequences.md
@@ -83,12 +83,6 @@
 ---
 <html>
 <div align="center">
-<table align="center">
-  <tr>
-    <!-- <td><a href="">&lt;&lt;&nbsp;previous</a></td> -->
-    <td><a href="spec_index.md#openwhisk-package-specification-html">Specification Index</a></td>
-    <!-- <td><a href="">next&nbsp;&gt;&gt;</a></td> -->
-  </tr>
-</table>
+<a href="../README.md#index">Index</a>
 </div>
 </html>
diff --git a/specification/html/spec_shared_entity_schema.md b/specification/html/spec_shared_entity_schema.md
index 59e2131..34798a8 100644
--- a/specification/html/spec_shared_entity_schema.md
+++ b/specification/html/spec_shared_entity_schema.md
@@ -113,12 +113,6 @@
 ---
 <html>
 <div align="center">
-<table align="center">
-  <tr>
-    <!-- <td><a href="">&lt;&lt;&nbsp;previous</a></td> -->
-    <td><a href="spec_index.md#openwhisk-package-specification-html">Specification Index</a></td>
-    <!-- <td><a href="">next&nbsp;&gt;&gt;</a></td> -->
-  </tr>
-</table>
+<a href="../README.md#index">Index</a>
 </div>
 </html>
diff --git a/specification/html/spec_trigger_rule.md b/specification/html/spec_trigger.md
similarity index 61%
rename from specification/html/spec_trigger_rule.md
rename to specification/html/spec_trigger.md
index 6e646a5..7e8b111 100644
--- a/specification/html/spec_trigger_rule.md
+++ b/specification/html/spec_trigger.md
@@ -17,15 +17,17 @@
 #
 -->
 
-## Triggers and Rules
-
-- [Triggers](#triggers)
-- [Rules](#rules)
-
 ## Triggers
 
 The Trigger entity schema contains the necessary information to describe the stream of events that it represents. For more information, see the document "[Creating Triggers and Rules](https://github.com/apache/incubator-openwhisk/blob/master/docs/triggers_rules.md)".
 
+#### Subsections
+- [Fields](#fields)
+- [Requirements](#requirements)
+- [Notes](#notes)
+- [Grammar](#grammar)
+- [Example](#example)
+
 ### Fields
 <html>
 <table>
@@ -142,116 +144,12 @@
     feed: /whisk.system/alarms/alarm
 ```
 
----
-
-## Rules
-
-The Rule entity schema contains the information necessary to associates one trigger with one action, with every firing of the trigger causing the corresponding action to be invoked with the trigger event as input. For more information, see the document "[Creating Triggers and Rules](https://github.com/apache/incubator-openwhisk/blob/master/docs/triggers_rules.md)".
-
-### Fields
-<html>
-<table>
-  <tr>
-   <th>Key Name</th>
-   <th>Required</th>
-   <th>Value Type</th>
-   <th>Default</th>
-   <th>Description</th>
-  </tr>
-
- <tr>
-  <td>
-  <p>trigger</p>
-  </td>
-  <td>
-  <p>yes</p>
-  </td>
-  <td>
-  <p>string</p>
-  </td>
-  <td>
-  <p>N/A</p>
-  </td>
-  <td>
-  <p>Required name of the Trigger the Rule applies to.</p>
-  </td>
- </tr>
- <tr>
-  <td>
-  <p>action</p>
-  </td>
-  <td>
-  <p>yes</p>
-  </td>
-  <td>
-  <p>string</p>
-  </td>
-  <td>
-  <p>N/A</p>
-  </td>
-  <td>
-  <p>Required name of the Action the Rule applies to.</p>
-  </td>
- </tr>
- <tr>
-  <td>
-  <p>rule</p>
-  </td>
-  <td>
-  <p>no</p>
-  </td>
-  <td>
-  <p>regex</p>
-  </td>
-  <td>
-  <p>true</p>
-  </td>
-  <td>
-  <p>The optional regular expression that determines if the Action is fired.</p>
-  <p><i>Note: In this version of the specification, only the expression 'true' is currently supported.</i></p>
-  </td>
- </tr>
-</table>
-</html>
-
-### Requirements
-- The Rule name (i.e., <ruleName>) MUST be less than or equal to 256 characters.
-- The Rule entity schema includes all general [Entity Schem](#TBD) fields in addition to any fields
-declared above.
-
-### Notes
-- OpenWhisk only supports a value of '```true```' for the '```rule```' key's value at this time.
-
-### Grammar
-```yaml
-<ruleName>:
-  description: <string>
-  trigger: <string>
-  action: <string>
-  rule: <regex>
-```
-
-### Example
-
-```yaml
-my_rule:
-  description: Enable events for my Action
-  trigger: my_trigger
-  action: my_action
-```
-
 <!--
  Bottom Navigation
 -->
 ---
 <html>
 <div align="center">
-<table align="center">
-  <tr>
-    <!-- <td><a href="">&lt;&lt;&nbsp;previous</a></td> -->
-    <td><a href="spec_index.md#openwhisk-package-specification-html">Specification Index</a></td>
-    <!-- <td><a href="">next&nbsp;&gt;&gt;</a></td> -->
-  </tr>
-</table>
+<a href="../README.md#index">Index</a>
 </div>
 </html>