This is an automated email from the ASF dual-hosted git repository.

git-site-role pushed a commit to branch asf-site
in repository 
https://gitbox.apache.org/repos/asf/incubator-openwhisk-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 9a1a200  Automatic Site Publish by Jenkins
9a1a200 is described below

commit 9a1a20070eab03d5aadd906a4aa194be29fff34c
Author: jenkins <us...@infra.apache.org>
AuthorDate: Fri Nov 30 21:57:20 2018 +0000

    Automatic Site Publish by Jenkins
---
 community.html     |  51 +++--
 css/main-v1.css    |   2 +-
 documentation.html | 605 +++++++++++++++++++++++++++++++++--------------------
 downloads.html     |  39 ++--
 events.html        |  15 +-
 feed.xml           |   2 +-
 index.html         | 106 +++++++---
 slack.html         |  15 +-
 8 files changed, 520 insertions(+), 315 deletions(-)

diff --git a/community.html b/community.html
index 03ee823..680148c 100644
--- a/community.html
+++ b/community.html
@@ -36,7 +36,7 @@ function toggleReferencedSection( parentId, expand )
   console.log( "toggleReferencedSection(): parentId=" + parentId + " expand=" 
+ expand);
   if (parentId !== ""){
     sectionName = parentId.replace("index", "section");
-    console.log( "toggleReferencedSection(): sectionName=" + sectionName);
+    //console.log( "toggleReferencedSection(): sectionName=" + sectionName);
     sectionHeader = document.getElementById(sectionName);
     section = sectionHeader.nextElementSibling;
     if(expand){
@@ -61,8 +61,7 @@ function addListenersToIndex()
 
     if(sibling!==null){
         coll[i].style.listStyleImage = 
"url('../images/elements/arrow-right-12px.png')";
-        // (top right bottom left)
-        // make room on left for image/icon
+        // make room on left for image/icon (top right bottom left)
         sibling.style.padding = "0px 0px 0px 20px";
 
         if(sibling.classList.contains('index-menu-start-open')){
@@ -114,7 +113,7 @@ function addListenersToSections()
         coll[i].style.backgroundImage = 
"url('../images/elements/circle-plus.png')";
         sibling.style.display = "none";
       } else {
-        console.log( "addListenersToSections(): No Toggle style foun; default 
to open");
+        //console.log( "addListenersToSections(): No Toggle style foun; 
default to open");
         coll[i].style.backgroundImage = 
"url('../images/elements/circle-minus.png')";
         sibling.style.display = "block";
       }
@@ -125,18 +124,18 @@ function addListenersToSections()
       var sibling = this.nextElementSibling;
       // toggle menu open/close states
       if(sibling!==null){
-        console.log("sibling.style.display: ["+sibling.style.display+"]");
+        //console.log("sibling.style.display: ["+sibling.style.display+"]");
         if (sibling.style.display !== "none") {
-          console.log("collapsing");
+          //console.log("collapsing");
           sibling.style.display = "none";
           this.style.backgroundImage = 
"url('../images/elements/circle-plus.png')";
         } else {
-          console.log("expanding");
+          //console.log("expanding");
           sibling.style.display = "block";
           this.style.backgroundImage = 
"url('../images/elements/circle-minus.png')";
         }
       }
-      
+
     });
   }
 }
@@ -248,7 +247,7 @@ function addListenersToSections()
       <main class="doc">
           <div class="content">
               <a class="indexable" id="social"></a>
-              <h4>Media</h4>
+              <h3>Media</h3>
               <p>The Apache OpenWhisk project is active on several content 
sharing and social media channels which aim to make it easier for users to get 
started, ask questions, stay informed and to interact with our community.</p>
               <p>Icons that link to each of the following channels are located 
in the header of our website and include:</p>
               <ul>
@@ -273,25 +272,37 @@ function addListenersToSections()
       <main class="doc">
           <div class="content">
               <a class="indexable" id="mailing-lists"></a>
-              <h4>Mailing Lists</h4>
-              <br>
-              <h5>How to join the Apache OpenWhisk mailing list<h5>
-              <p>The Dev Mailing List is where we discuss the development of 
Apache OpenWhisk. It is <b><i>not</i></b> a place for technical support; if 
you're looking for help on the project, please try our <a 
style="font-weight:400;" href="/documentation.html">Documentation</a> page and 
engage with us on one of the Social Media channels listed above.</p>
-              <p>To subscribe, unsubscribe or post our developer list, send an 
email message to one of the following addresses:</p>
+              <h3>Mailing Lists</h3>
+              <p>The developer or "dev" mailing list is where we discuss the 
design and
+                development of Apache OpenWhisk project code.
+                It is <b><i>not</i></b> a place for technical support;
+                if you're looking for help on the project, please try our
+                <a style="font-weight:400;" 
href="/documentation.html">Documentation</a>
+                page and engage with us on one of the Social Media channels
+                listed above.
+              </p>
+              <question>How do I join the Apache OpenWhisk project
+                developer mailing list?</question>
+              <p>To subscribe, unsubscribe or post our developer list, send
+                an email message to one of the following addresses:</p>
                   <ul>
                       <li><b>Subscribe</b>: <a 
href="mailto:dev-subscr...@openwhisk.incubator.apache.org";>dev-subscr...@openwhisk.incubator.apache.org</a></li>
                       <li><b>Unsubscribe</b>: <a 
href="mailto:dev-unsubscr...@openwhisk.incubator.apache.org";>dev-unsubscr...@openwhisk.incubator.apache.org</a></li>
                       <li><b>Post</b> (new topic): <a 
href="mailto:d...@openwhisk.incubator.apache.org";>d...@openwhisk.incubator.apache.org</a></li>
                   </ul>
-              <p>To comment on a thread, simply reply to the message with the 
same subject text.</p>
-              <p><b>NOTE:</b> Make sure you add a subject line to the 
subscribe/unsubscribe messages. Empty emails are ignored.</p>
-              <p>To see existing messages, <a 
href="https://lists.apache.org/list.html?d...@openwhisk.apache.org";>https://lists.apache.org/list.html?d...@openwhisk.apache.org</a>.</p>
+              <p>To comment on a thread, simply reply to the message with
+                the same subject text.
+              </p>
+              <p><b>NOTE:</b> Make sure you add a subject line to the
+                subscribe/unsubscribe messages. Empty emails are ignored.</p>
+              <p>To see existing messages, use:
+                <a 
href="https://lists.apache.org/list.html?d...@openwhisk.apache.org";>https://lists.apache.org/list.html?d...@openwhisk.apache.org</a>.</p>
           </div>
       </main>
       <main class="doc">
           <div class="content">
               <a class="indexable" id="wiki"></a>
-              <h4>Project Wiki</h4>
+              <h3>Project Wiki</h3>
               <p>The project maintains a <a 
href="https://cwiki.apache.org/confluence/display/OPENWHISK/OpenWhisk+Project+Wiki";>Confluence
 Wiki</a> site that provides the community a place to share their thoughts 
about and collaborate around any aspect of the project; whether it's about the 
platform architecture, an existing or planned feature or about its use cases 
and integrations. Examples include:</p>
               <ul>
                   <li><a 
href="https://cwiki.apache.org/confluence/display/OPENWHISK/OpenWhisk+Project+Wiki#OpenWhiskProjectWiki-how-to-contribute";>How
 to contribute?</li>
@@ -309,7 +320,7 @@ function addListenersToSections()
       <main class="doc">
           <div class="content">
               <a class="indexable" id="events"></a>
-              <h4>Events</h4>
+              <h3>Events</h3>
               <h5 style="margin-top:20px;">Apache OpenWhisk events</h5>
               <p>
                   Please reach out to community at <a 
href="mailto:d...@openwhisk.incubator.apache.org";>d...@openwhisk.incubator.apache.org</a>
 to promote any OpenWhisk event.
@@ -331,7 +342,7 @@ function addListenersToSections()
       <main class="doc">
           <div class="content">
               <a class="indexable" id="supporters"></a>
-              <h4>Supporters</h4>
+              <h3>Supporters</h3>
               <p>The following companies and organizations have acknowledged 
support of the Apache OpenWhisk project as contributors or users of the 
technology.</p>
               <div class="flow-columns">
                   <div class="flow-item-container">
diff --git a/css/main-v1.css b/css/main-v1.css
index a038bca..b62e1d1 100644
--- a/css/main-v1.css
+++ b/css/main-v1.css
@@ -1 +1 @@
-html,body{margin:0;padding:0}input,button{outline:none}button{cursor:pointer}a{text-decoration:none}.clear{display:block;clear:both}*{box-sizing:border-box;background:none;border:0}body{font-family:"Roboto",sans-serif}h1,h2,h3,h4,h5,h6{font-weight:500;margin:0}h1{font-size:32px;line-height:normal}h2{font-size:28px;line-height:normal}h3{font-size:24px;line-height:32px}h4{font-size:20px;line-height:28px}h5{font-size:16px;line-height:24px}h6{font-size:14px;font-style:italic;line-height:24px
 [...]
+html,body{margin:0;padding:0}input,button{outline:none}button{cursor:pointer}a{text-decoration:none}.clear{display:block;clear:both}*{box-sizing:border-box;background:none;border:0}body{font-family:"Roboto",sans-serif}h1,h2,h3,h4,h5,h6{font-weight:500;margin:0}h1{font-size:32px;line-height:normal}h2{font-size:28px;line-height:normal}h3{font-size:24px;line-height:32px}h4{font-size:22px;line-height:30px}h5{font-size:16px;line-height:24px}h6{font-size:14px;font-style:italic;line-height:24px
 [...]
diff --git a/documentation.html b/documentation.html
index a1c81e9..94c5931 100644
--- a/documentation.html
+++ b/documentation.html
@@ -36,7 +36,7 @@ function toggleReferencedSection( parentId, expand )
   console.log( "toggleReferencedSection(): parentId=" + parentId + " expand=" 
+ expand);
   if (parentId !== ""){
     sectionName = parentId.replace("index", "section");
-    console.log( "toggleReferencedSection(): sectionName=" + sectionName);
+    //console.log( "toggleReferencedSection(): sectionName=" + sectionName);
     sectionHeader = document.getElementById(sectionName);
     section = sectionHeader.nextElementSibling;
     if(expand){
@@ -61,8 +61,7 @@ function addListenersToIndex()
 
     if(sibling!==null){
         coll[i].style.listStyleImage = 
"url('../images/elements/arrow-right-12px.png')";
-        // (top right bottom left)
-        // make room on left for image/icon
+        // make room on left for image/icon (top right bottom left)
         sibling.style.padding = "0px 0px 0px 20px";
 
         if(sibling.classList.contains('index-menu-start-open')){
@@ -114,7 +113,7 @@ function addListenersToSections()
         coll[i].style.backgroundImage = 
"url('../images/elements/circle-plus.png')";
         sibling.style.display = "none";
       } else {
-        console.log( "addListenersToSections(): No Toggle style foun; default 
to open");
+        //console.log( "addListenersToSections(): No Toggle style foun; 
default to open");
         coll[i].style.backgroundImage = 
"url('../images/elements/circle-minus.png')";
         sibling.style.display = "block";
       }
@@ -125,18 +124,18 @@ function addListenersToSections()
       var sibling = this.nextElementSibling;
       // toggle menu open/close states
       if(sibling!==null){
-        console.log("sibling.style.display: ["+sibling.style.display+"]");
+        //console.log("sibling.style.display: ["+sibling.style.display+"]");
         if (sibling.style.display !== "none") {
-          console.log("collapsing");
+          //console.log("collapsing");
           sibling.style.display = "none";
           this.style.backgroundImage = 
"url('../images/elements/circle-plus.png')";
         } else {
-          console.log("expanding");
+          //console.log("expanding");
           sibling.style.display = "block";
           this.style.backgroundImage = 
"url('../images/elements/circle-minus.png')";
         }
       }
-      
+
     });
   }
 }
@@ -238,12 +237,6 @@ function addListenersToSections()
               <li><a href="#nodejs-runtime">NodeJS Runtime</a></li>
               <li><a href="#nodejs-additional-resources">Additional 
Resources</a></li>
             </ul>
-            <li id="index-python" class="index-menu-toggle"><a 
href="#python">using Python</a></li>
-            <ul class="index-menuitems">
-                <li><a href="#actions-python">Creating and Invoking Sample 
Action</a></li>
-                <li><a href="#python-runtime">Python Runtime</a></li>
-                <li><a href="#python-additional-resources">Additional 
Resources</a></li>
-            </ul>
             <li id="index-go" class="index-menu-toggle"><a href="#go">using 
Go</a></li>
             <ul class="index-menuitems">
                 <li><a href="#actions-go">Creating and Invoking Action</a></li>
@@ -262,18 +255,24 @@ function addListenersToSections()
                 <li><a href="#php-runtime">PHP Runtime</a></li>
                 <li><a href="#php-additional-resources">Additional 
Resources</a></li>
             </ul>
+            <li id="index-python" class="index-menu-toggle"><a 
href="#python">using Python</a></li>
+            <ul class="index-menuitems">
+                <li><a href="#actions-python">Creating and Invoking Sample 
Action</a></li>
+                <li><a href="#python-runtime">Python Runtime</a></li>
+                <li><a href="#python-additional-resources">Additional 
Resources</a></li>
+            </ul>
             <li id="index-ruby" class="index-menu-toggle"><a 
href="#ruby">using Ruby</a></li>
             <ul class="index-menuitems">
                 <li><a href="#actions-ruby">Creating and Invoking 
Action</a></li>
                 <li><a href="#ruby-runtime">Ruby Runtime</a></li>
                 <li><a href="#ruby-additional-resources">Additional 
Resources</a></li>
             </ul>
-            <!--li id="index-swift" class="index-menu-toggle"><a 
href="#swift">Swift</a></li>
+            <li id="index-swift" class="index-menu-toggle"><a 
href="#swift">using Swift</a></li>
             <ul class="index-menuitems">
-                <li><a href="#swift-actions">Creating and Invoking 
Action</a></li>
+                <li><a href="#actions-swift">Creating and Invoking 
Action</a></li>
                 <li><a href="#swift-runtime">Swift Runtime</a></li>
                 <li><a href="#swift-additional-resources">Additional 
Resources</a></li>
-            </ul-->
+            </ul>
             <!--li id="index-docker" ><a href="#docker">Docker</a></li>
             <ul>
                 <li>Zip Action</li>
@@ -364,14 +363,14 @@ function addListenersToSections()
     <main class="doc">
       <div class="content">
         <a class="indexable" id="programming-model"></a>
-        <h2>OpenWhisk Programming Model</h2>
+        <h3>OpenWhisk Programming Model</h3>
         <p>
           <img style="display:block; width:80%; margin: auto"
           src="/images/illustrations/OW-Programming-Model-Horz.png"
           alt="OpenWhisk Programming Model">
         </p>
-        <p>The OpenWhisk programming model is...</p>
-        <h5>Event-Driven</h5>
+        <p>The OpenWhisk programming model...</p>
+        <h5>Is Event-driven</h5>
         <p>In the OpenWhisk programming model, Events drive the
           Serverless execution of functional code called Actions.
           Events can come from any Event Source or Feed service
@@ -421,7 +420,7 @@ function addListenersToSections()
         src="/images/illustrations/OW-Programming-Model-Horz-Action.png"
         alt="OpenWhisk Programming Model: Actions">
         <p>
-          <strong>What is an Action?</strong>
+          <question>What is an Action?</question>
           Actions are stateless functions (code snippets) that run on
           the OpenWhisk platform. Actions encapsulate application logic
           to be executed in response to events. Actions can be invoked
@@ -430,15 +429,15 @@ function addListenersToSections()
           which we will discuss later.
         </p>
         <p>
-          <strong>Does the function's language matter?</strong>
+          <question>Does the function's language matter?</question>
           No, OpenWhisk is agnostic to a function's implementation language.
           This means that OpenWhisk operations used to create, invoke and
           manage Actions are the same regardless of implementation choice.
           You decide what languages are best for you!
         </p>
         <p>
-          <strong>What if your preferred language/runtime is not supported
-          by OpenWhisk?</strong>
+          <question>What if your preferred language/runtime is not supported
+          by OpenWhisk?</question>
           If your favorite language is not listed above, you may find the
           Docker action or native binary path more suitable.
           The OpenWhisk platform is extensible and you can add new languages
@@ -505,18 +504,18 @@ function addListenersToSections()
         alt="OpenWhisk Programming Model: Actions">
 
         <p>
-          <strong>What is a trigger?</strong>
+          <question>What is a trigger?</question>
           Triggers are named channels for classes or kinds of events
           sent from Event Sources.
         </p>
         <p>
-          <strong>What is a Rule?</strong>
+          <question>What is a Rule?</question>
           Rules are used to associate one trigger with one action.
           After this kind of association is created, each time
           a trigger event is fired, the action is invoked.
         </p>
         <p>
-          <strong>What are Event Sources?</strong>
+          <question>What are Event Sources?</question>
           These are services that generate events that often indicate
           changes in data or carry data themselves. Some examples of
           common Event Sources include:
@@ -531,8 +530,8 @@ function addListenersToSections()
           <li>etc.</li>
         </ul>
         <p>
-            <strong>Why do I need to connect actions to event
-              sources?</strong>
+            <question>Why do I need to connect actions to event
+              sources?</question>
             OpenWhisk is based on an event-driven architecture where most
             Actions are executed as events happen.
             The Trigger itself is "fired" with a dictionary of
@@ -953,6 +952,21 @@ function addListenersToSections()
             </div>
           </li>
         </ul>
+        <a class="indexable" id="additional-resources-wskdeploy"></a>
+        <h5>Additional Resources</h5>
+        <ul>
+          <li><a 
href="https://github.com/apache/incubator-openwhisk-wskdeploy/tree/master/specification#openwhisk-packaging-specification";>OpenWhisk
 Packaging Specification</a></li>
+          <li><a 
href="https://github.com/apache/incubator-openwhisk-wskdeploy/blob/master/docs/programming_guide.md#wskdeploy-utility-by-example";>Programming
 Guide - "<code>wskdeploy</code> utility by example"</a></li>
+        </ul>
+        <h6>Medium Blogs <span style="font-weight:normal;">(tagged <a 
href="https://medium.com/openwhisk/tagged/wskdeploy";>wskdeploy</a>)</span></h6>
+        <ul>
+          <li><a 
href="https://medium.com/openwhisk/whisk-deploy-slack-package-f6690a1387e4";>Whisk
 Deploy - Slack Package</a></li>
+          <li><a 
href="https://medium.com/openwhisk/whisk-deploy-github-dependency-b31799394e79";>Whisk
 Deploy - GitHub Dependency</a></li>
+          <li><a 
href="https://medium.com/openwhisk/whisk-deploy-zip-actions-abcc8c01ac4";>Whisk 
Deploy - Zip Actions</a></li>
+          <li><a 
href="https://medium.com/openwhisk/whisk-deploy-zip-actions-with-include-exclude-30ba6d96ad8b";>Whisk
 Deploy - Zip Actions with file Include & Exclude</a></li>
+          <li><a 
href="https://medium.com/openwhisk/whisk-deploy-api-gateway-action-to-rest-api-cc52002c9d2c";>Whisk
 Deploy - API Gateway (Action to REST API)</a></li>
+          <li><a 
href="https://medium.com/openwhisk/whisk-deploy-how-to-sync-openwhisk-projects-between-client-and-server-c7939f0642a1";>Whisk
 Deploy - How to Sync OpenWhisk Projects between Client and Server?</a></li>
+        </ul>
 
         <!-- ********************************************************** -->
         <!-- OpenWhisk REST API                                         -->
@@ -1008,14 +1022,6 @@ function addListenersToSections()
         <p>Select from the language example you would like to follow from the
           list below.
         </p>
-        <!-- <ul>
-          <li><a href="#section-nodejs">JavaScript (NodeJS)</a></li>
-          <li><a href="#section-go">Go</a></li>
-          <li><a href="#section-java">Java</a></li>
-          <li><a href="#section-php">PHP</a></li>
-          <li><a href="#section-python">Python</a></li>
-          <li><a href="#section-ruby">Ruby</a></li>
-        </ul> -->
 
         <!-- ************************************** -->
         <!-- Actions - JavaScript (NodeJS)          -->
@@ -1154,13 +1160,168 @@ function addListenersToSections()
           <a class="indexable" id="nodejs-additional-resources"></a>
           <h5>Additional Resources</h5>
           <ul>
-            <li><a 
href="https://medium.com/openwhisk/debugging-node-js-openwhisk-actions-3da3303e6741";>Debugging
 Node.js OpenWhisk Actions</a></li>
-            <li><a 
href="https://medium.com/openwhisk/updates-to-openwhisk-node-js-actions-ed5556cd5ae9";>Updates
 to OpenWhisk Node.js actions</a></li>
             <li><a 
href="https://medium.com/openwhisk/integrating-openwhisk-with-your-node-application-d489b8a20102";>Integrating
 OpenWhisk with Your Node Applications</a></li>
+            <li><a 
href="https://medium.com/openwhisk/migrating-from-a-node-app-to-serverless-d76f744b22c9";>Migrating
 from a Node App to Serverless</a></li>
+            <li><a 
href="https://medium.com/openwhisk/debugging-node-js-openwhisk-actions-3da3303e6741";>Debugging
 Node.js OpenWhisk Actions</a></li>
+          </ul>
+          <h6>Medium Blogs <span style="font-weight:normal;">(tagged <a 
href="https://medium.com/openwhisk/tagged/nodejs";>nodejs</a>)</span></h6>
+          <ul>
+            <li><a 
href="https://medium.com/openwhisk/creating-zipped-actions-in-openwhisk-ccfcda553a30";>Creating
 Zipped Actions in OpenWhisk</a></li>
+            <li><a 
href="https://medium.com/openwhisk/an-example-of-an-openwhisk-sequence-417d653c5952";>An
 Example of an OpenWhisk Sequence</a></li>
+            <li><a 
href="https://medium.com/openwhisk/working-with-openwhisk-triggers-734fa9624ae5";>Working
 with OpenWhisk Triggers</a></li>
+            <li><a 
href="https://medium.com/openwhisk/another-openwhisk-cron-example-the-blog-nag-dd0074821d2d";>Another
 OpenWhisk Cron Example</a></li>
+            <li><a 
href="https://medium.com/openwhisk/building-a-serverless-api-proxy-with-openwhisk-16e5fd16f44f";>Building
 a Serverless API Proxy with OpenWhisk</a></li>
+            <li><a 
href="https://medium.com/openwhisk/building-a-form-handler-service-in-openwhisk-55f15fb133a3";>Building
 a Form Handler Service in OpenWhisk</a></li>
+            <li><a 
href="https://medium.com/openwhisk/deploying-express-js-apps-to-openwhisk-part-1-9133ba5f262c";>Deploying
 Express.js apps to OpenWhisk (Part 1)</a></li>
+            <li><a 
href="https://medium.com/openwhisk/designing-an-openwhisk-action-for-web-action-support-4f0299481e74";>Designing
 an OpenWhisk Action for Web Action Support</a></li>
           </ul>
         </div>
 
         <!-- ************************************** -->
+        <!-- Actions - GoLang                       -->
+        <!-- ************************************** -->
+        <a class="indexable" id="go"></a>
+        <h6 id="section-go" class="section-toggle">using Go</h6>
+        <div class="section-toggleable section-toggle-start-closed">
+          <p></p>
+          <a class="indexable" id="actions-go"></a>
+          <h5>Creating And Invoking Go actions</h5>
+          <p>
+            Let's look at how to write a sample hello world action in Go. You 
can visit
+            <a 
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/actions-go.md#creating-and-invoking-go-actions";>Creating
 and Invoking Go actions</a>
+            page for further details.
+          </p>
+          <p>
+            <strong>Note:</strong> We will be using <i>wsk</i> CLI in this
+            section. If you don't have it installed and configured,
+            please refer to the section
+            <a href="#wsk-cli">OpenWhisk CLI (wsk)</a>.
+          </p>
+          <ol>
+            <li style="list-style-type: decimal">
+              <a class="indexable" id="hello-go"></a>
+              Create a file named <i>hello.go</i>:
+              <div class="terminal">
+
+<figure class="highlight"><pre><code class="language-go" data-lang="go"><table 
style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align: 
right"><pre class="lineno">1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15</pre></td><td class="code"><pre><span class="k">package</span><span 
class="x"> </span><span class="n">main</span><span class="x">
+
+</span><span class="k">import</span><span class="x"> </span><span 
class="s">"fmt"</span><span class="x">
+
+</span><span class="c">// Main function for the action</span><span class="x">
+</span><span class="k">func</span><span class="x"> </span><span 
class="n">Main</span><span class="p">(</span><span class="n">obj</span><span 
class="x"> </span><span class="k">map</span><span class="p">[</span><span 
class="kt">string</span><span class="p">]</span><span 
class="k">interface</span><span class="p">{})</span><span class="x"> 
</span><span class="k">map</span><span class="p">[</span><span 
class="kt">string</span><span class="p">]</span><span 
class="k">interface</span><span class [...]
+       </span><span class="n">name</span><span class="p">,</span><span 
class="x"> </span><span class="n">ok</span><span class="x"> </span><span 
class="o">:=</span><span class="x"> </span><span class="n">obj</span><span 
class="p">[</span><span class="s">"name"</span><span class="p">]</span><span 
class="o">.</span><span class="p">(</span><span class="kt">string</span><span 
class="p">)</span><span class="x">
+       </span><span class="k">if</span><span class="x"> </span><span 
class="o">!</span><span class="n">ok</span><span class="x"> </span><span 
class="p">{</span><span class="x">
+               </span><span class="n">name</span><span class="x"> </span><span 
class="o">=</span><span class="x"> </span><span 
class="s">"stranger"</span><span class="x">
+       </span><span class="p">}</span><span class="x">
+       </span><span class="n">fmt</span><span class="o">.</span><span 
class="n">Printf</span><span class="p">(</span><span 
class="s">"name=%s</span><span class="se">\n</span><span 
class="s">"</span><span class="p">,</span><span class="x"> </span><span 
class="n">name</span><span class="p">)</span><span class="x">
+       </span><span class="n">msg</span><span class="x"> </span><span 
class="o">:=</span><span class="x"> </span><span class="nb">make</span><span 
class="p">(</span><span class="k">map</span><span class="p">[</span><span 
class="kt">string</span><span class="p">]</span><span 
class="k">interface</span><span class="p">{})</span><span class="x">
+       </span><span class="n">msg</span><span class="p">[</span><span 
class="s">"msg"</span><span class="p">]</span><span class="x"> </span><span 
class="o">=</span><span class="x"> </span><span class="s">"Hello, "</span><span 
class="x"> </span><span class="o">+</span><span class="x"> </span><span 
class="n">name</span><span class="x"> </span><span class="o">+</span><span 
class="x"> </span><span class="s">"!"</span><span class="x">
+       </span><span class="k">return</span><span class="x"> </span><span 
class="n">msg</span><span class="x">
+</span><span class="p">}</span><span class="w">
+</span></pre></td></tr></tbody></table></code></pre></figure>
+
+              </div>
+            </li>
+            <li style="list-style-type: decimal">
+              Create an action <i>helloGo</i>:
+              <div class="terminal">
+
+<figure class="highlight"><pre><code class="language-bash" 
data-lang="bash"><span class="gp">$ </span>wsk action create helloGo 
hello.go</code></pre></figure>
+
+              </div>
+            </li>
+            <li style="list-style-type: decimal">
+                Invoke an action <i>helloGo</i>:
+              <div class="terminal">
+
+<figure class="highlight"><pre><code class="language-bash" 
data-lang="bash"><span class="gp">$ </span>wsk action invoke helloGo -r -p name 
gopher</code></pre></figure>
+
+              </div>
+              <div class="terminal">
+
+<figure class="highlight"><pre><code class="language-yaml" 
data-lang="yaml"><span class="pi">{</span>
+<span class="s2">"</span><span class="s">msg"</span><span class="pi">:</span> 
<span class="s2">"</span><span class="s">Hello,</span><span class="nv"> 
</span><span class="s">gopher!"</span>
+<span class="pi">}</span></code></pre></figure>
+
+              </div>
+            </li>
+            <li style="list-style-type: decimal">
+              Deploy using <i>wskdeploy</i>:
+              <p>
+                <strong>Note:</strong> We will be using <i>wskdeploy</i> in
+                this section. If you don't have the binary,
+                please refer to the section
+                on <a href="#wskdeploy">Whisk Deploy</a> to download it.
+              </p>
+              <ol>
+                <li>Create a directory called <i>actions</i> with
+                  <i>hello.go</i> from step 1 <a href="#hello-go">above</a>.
+                </li>
+                <li>
+                  Create <i>manifest.yaml</i> with the following YAML content:
+                  <div class="terminal">
+
+<figure class="highlight"><pre><code class="language-yaml" 
data-lang="yaml"><table style="border-spacing: 0"><tbody><tr><td class="gutter 
gl" style="text-align: right"><pre class="lineno">1
+2
+3
+4
+5</pre></td><td class="code"><pre><span class="s">packages</span><span 
class="pi">:</span>
+    <span class="s">default</span><span class="pi">:</span>
+        <span class="s">actions</span><span class="pi">:</span>
+            <span class="s">helloGo</span><span class="pi">:</span>
+                <span class="s">function</span><span class="pi">:</span> <span 
class="s">hello.go</span><span class="w">
+</span></pre></td></tr></tbody></table></code></pre></figure>
+
+                  </div>
+                </li>
+                <li>
+                  Run deployment with <i>wskdeploy</i>:
+                  <div class="terminal">
+
+<figure class="highlight"><pre><code class="language-bash" 
data-lang="bash"><span class="gp">$ </span>wskdeploy -m 
manifest.yaml</code></pre></figure>
+
+                  </div>
+                </li>
+              </ol>
+            </li>
+          </ol>
+          <a class="indexable" id="go-runtime"></a>
+          <h5>OpenWhisk Runtime for Go</h5>
+          <p>
+            If you wish to learn more about Go runtime along with
+            the libraries that are supported or "built-in" by
+            default, please visit
+            <a 
href="https://github.com/apache/incubator-openwhisk-runtime-go/blob/master/README.md";>Go
 Runtime GitHub Repository</a>.
+          </p>
+          <a class="indexable" id="go-additional-resources"></a>
+          <h5>Additional Resources</h5>
+          <ul>
+            <li><a 
href="https://www.slideshare.net/MicheleSciabarr/openwhisk-go-runtime";>OpenWhisk
 Go Runtime</a></li>
+            <li><a 
href="https://www.slideshare.net/MicheleSciabarr/openwhisk-goswiftbinaries-runtime";>ActionLoop,
 Go and Swift</a></li>
+          </ul>
+          <!-- <h6>Medium Blogs <span style="font-weight:normal;">(tagged <a 
href="https://medium.com/openwhisk/tagged/golang";>golang</a>)</span></h6>
+          <ul>
+            <li><a href=""></a></li>
+            <li><a href=""></a></li>
+            <li><a href=""></a></li>
+          </ul> -->
+        </div>
+
+        <!-- ************************************** -->
         <!-- Actions - Python                       -->
         <!-- ************************************** -->
         <a class="indexable" id="python"></a>
@@ -1311,144 +1472,11 @@ function addListenersToSections()
             <li><a 
href="http://jamesthom.as/blog/2017/04/27/python-packages-in-openwhisk/";>Using 
External Python Libraries in OpenWhisk</a></li>
             <li><a 
href="https://www.slideshare.net/CodeOps/openwhisk-by-example-auto-retweeting-example-in-python";>Auto
 Retweeting Example in Python</a></li>
           </ul>
-        </div>
-
-        <!-- ************************************** -->
-        <!-- Actions - GoLang                       -->
-        <!-- ************************************** -->
-        <a class="indexable" id="go"></a>
-        <h6 id="section-go" class="section-toggle">using Go</h6>
-        <div class="section-toggleable section-toggle-start-closed">
-          <p></p>
-          <a class="indexable" id="actions-go"></a>
-          <h5>Creating And Invoking Go actions</h5>
-          <p>
-            Let's look at how to write a sample hello world action in Go. You 
can visit
-            <a 
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/actions-go.md#creating-and-invoking-go-actions";>Creating
 and Invoking Go actions</a>
-            page for further details.
-          </p>
-          <p>
-            <strong>Note:</strong> We will be using <i>wsk</i> CLI in this
-            section. If you don't have it installed and configured,
-            please refer to the section
-            <a href="#wsk-cli">OpenWhisk CLI (wsk)</a>.
-          </p>
-          <ol>
-            <li style="list-style-type: decimal">
-              <a class="indexable" id="hello-go"></a>
-              Create a file named <i>hello.go</i>:
-              <div class="terminal">
-
-<figure class="highlight"><pre><code class="language-go" data-lang="go"><table 
style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align: 
right"><pre class="lineno">1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15</pre></td><td class="code"><pre><span class="k">package</span><span 
class="x"> </span><span class="n">main</span><span class="x">
-
-</span><span class="k">import</span><span class="x"> </span><span 
class="s">"fmt"</span><span class="x">
-
-</span><span class="c">// Main function for the action</span><span class="x">
-</span><span class="k">func</span><span class="x"> </span><span 
class="n">Main</span><span class="p">(</span><span class="n">obj</span><span 
class="x"> </span><span class="k">map</span><span class="p">[</span><span 
class="kt">string</span><span class="p">]</span><span 
class="k">interface</span><span class="p">{})</span><span class="x"> 
</span><span class="k">map</span><span class="p">[</span><span 
class="kt">string</span><span class="p">]</span><span 
class="k">interface</span><span class [...]
-       </span><span class="n">name</span><span class="p">,</span><span 
class="x"> </span><span class="n">ok</span><span class="x"> </span><span 
class="o">:=</span><span class="x"> </span><span class="n">obj</span><span 
class="p">[</span><span class="s">"name"</span><span class="p">]</span><span 
class="o">.</span><span class="p">(</span><span class="kt">string</span><span 
class="p">)</span><span class="x">
-       </span><span class="k">if</span><span class="x"> </span><span 
class="o">!</span><span class="n">ok</span><span class="x"> </span><span 
class="p">{</span><span class="x">
-               </span><span class="n">name</span><span class="x"> </span><span 
class="o">=</span><span class="x"> </span><span 
class="s">"stranger"</span><span class="x">
-       </span><span class="p">}</span><span class="x">
-       </span><span class="n">fmt</span><span class="o">.</span><span 
class="n">Printf</span><span class="p">(</span><span 
class="s">"name=%s</span><span class="se">\n</span><span 
class="s">"</span><span class="p">,</span><span class="x"> </span><span 
class="n">name</span><span class="p">)</span><span class="x">
-       </span><span class="n">msg</span><span class="x"> </span><span 
class="o">:=</span><span class="x"> </span><span class="nb">make</span><span 
class="p">(</span><span class="k">map</span><span class="p">[</span><span 
class="kt">string</span><span class="p">]</span><span 
class="k">interface</span><span class="p">{})</span><span class="x">
-       </span><span class="n">msg</span><span class="p">[</span><span 
class="s">"msg"</span><span class="p">]</span><span class="x"> </span><span 
class="o">=</span><span class="x"> </span><span class="s">"Hello, "</span><span 
class="x"> </span><span class="o">+</span><span class="x"> </span><span 
class="n">name</span><span class="x"> </span><span class="o">+</span><span 
class="x"> </span><span class="s">"!"</span><span class="x">
-       </span><span class="k">return</span><span class="x"> </span><span 
class="n">msg</span><span class="x">
-</span><span class="p">}</span><span class="w">
-</span></pre></td></tr></tbody></table></code></pre></figure>
-
-              </div>
-            </li>
-            <li style="list-style-type: decimal">
-              Create an action <i>helloGo</i>:
-              <div class="terminal">
-
-<figure class="highlight"><pre><code class="language-bash" 
data-lang="bash"><span class="gp">$ </span>wsk action create helloGo 
hello.go</code></pre></figure>
-
-              </div>
-            </li>
-            <li style="list-style-type: decimal">
-                Invoke an action <i>helloGo</i>:
-              <div class="terminal">
-
-<figure class="highlight"><pre><code class="language-bash" 
data-lang="bash"><span class="gp">$ </span>wsk action invoke helloGo -r -p name 
gopher</code></pre></figure>
-
-              </div>
-              <div class="terminal">
-
-<figure class="highlight"><pre><code class="language-yaml" 
data-lang="yaml"><span class="pi">{</span>
-<span class="s2">"</span><span class="s">msg"</span><span class="pi">:</span> 
<span class="s2">"</span><span class="s">Hello,</span><span class="nv"> 
</span><span class="s">gopher!"</span>
-<span class="pi">}</span></code></pre></figure>
-
-              </div>
-            </li>
-            <li style="list-style-type: decimal">
-              Deploy using <i>wskdeploy</i>:
-              <p>
-                <strong>Note:</strong> We will be using <i>wskdeploy</i> in
-                this section. If you don't have the binary,
-                please refer to the section
-                on <a href="#wskdeploy">Whisk Deploy</a> to download it.
-              </p>
-              <ol>
-                <li>Create a directory called <i>actions</i> with
-                  <i>hello.go</i> from step 1 <a href="#hello-go">above</a>.
-                </li>
-                <li>
-                  Create <i>manifest.yaml</i> with the following YAML content:
-                  <div class="terminal">
-
-<figure class="highlight"><pre><code class="language-yaml" 
data-lang="yaml"><table style="border-spacing: 0"><tbody><tr><td class="gutter 
gl" style="text-align: right"><pre class="lineno">1
-2
-3
-4
-5</pre></td><td class="code"><pre><span class="s">packages</span><span 
class="pi">:</span>
-    <span class="s">default</span><span class="pi">:</span>
-        <span class="s">actions</span><span class="pi">:</span>
-            <span class="s">helloGo</span><span class="pi">:</span>
-                <span class="s">function</span><span class="pi">:</span> <span 
class="s">hello.go</span><span class="w">
-</span></pre></td></tr></tbody></table></code></pre></figure>
-
-                  </div>
-                </li>
-                <li>
-                  Run deployment with <i>wskdeploy</i>:
-                  <div class="terminal">
-
-<figure class="highlight"><pre><code class="language-bash" 
data-lang="bash"><span class="gp">$ </span>wskdeploy -m 
manifest.yaml</code></pre></figure>
-
-                  </div>
-                </li>
-              </ol>
-            </li>
-          </ol>
-          <a class="indexable" id="go-runtime"></a>
-          <h5>OpenWhisk Runtime for Go</h5>
-          <p>
-            If you wish to learn more about Go runtime along with
-            the libraries that are supported or "built-in" by
-            default, please visit
-            <a 
href="https://github.com/apache/incubator-openwhisk-runtime-go/blob/master/README.md";>Go
 Runtime GitHub Repository</a>.
-          </p>
-          <a class="indexable" id="go-additional-resources"></a>
-          <h5>Additional Resources</h5>
-          <ul>
-            <li><a 
href="https://www.slideshare.net/MicheleSciabarr/openwhisk-go-runtime";>OpenWhisk
 Go Runtime</a></li>
-            <li><a 
href="https://www.slideshare.net/MicheleSciabarr/openwhisk-goswiftbinaries-runtime";>ActionLoop,
 Go and Swift</a></li>
-          </ul>
+          <h6>Medium Blogs <span style="font-weight:normal;">(tagged <a 
href="https://medium.com/openwhisk/tagged/python";>python</a>)</span></h6>
+          <!-- <ul>
+            <li><a 
href="https://medium.com/openwhisk/python-packages-in-openwhisk-8d10dcd91257";>Python
 Packages in OpenWhisk</a></li>
+            <li><a 
href="https://medium.com/openwhisk/large-applications-on-openwhisk-bcf15bff94ec";>Large
 Applications on OpenWhisk</a></li>
+          </ul> -->
         </div>
 
         <!-- ************************************** -->
@@ -1573,6 +1601,13 @@ function addListenersToSections()
               <a 
href="https://www.ibm.com/blogs/bluemix/2017/02/building-openwhisk-actions-java-gradle/";>Building
 OpenWhisk actions with Java and Gradle</a>
             </li>
           </ul>
+          <!-- TODO: Java blogs are outdated / need update -->
+          <!-- <h6>Medium Blogs <span style="font-weight:normal;">(tagged <a 
href="https://medium.com/openwhisk/tagged/java";>java</a>)</span></h6>
+          <ul>
+            <li><a 
href="https://www.ibm.com/blogs/bluemix/2017/02/building-openwhisk-actions-java-gradle/";>OpenWhisk
 actions with Java and Gradle</a></li>
+            <li><a href=""></a></li>
+            <li><a href=""></a></li>
+          </ul> -->
         </div>
 
         <!-- ************************************** -->
@@ -1735,6 +1770,11 @@ function addListenersToSections()
             <li><a 
href="https://akrabat.com/getting-started-with-serverless-php/";>Getting Started 
with Serverless PHP</a></li>
             <li><a 
href="https://lornajane.net/posts/2018/handle-webhooks-with-serverless-php";>Handle
 Webhooks with Serverless PHP on OpenWhisk</a></li>
           </ul>
+          <h6>Medium Blogs <span style="font-weight:normal;">(tagged <a 
href="https://medium.com/openwhisk/tagged/php";>php</a>)</span></h6>
+          <ul>
+            <li><a 
href="https://medium.com/openwhisk/using-serverless-framework-with-apache-openwhisk-and-php-76472727e9d8";>Using
 Serverless Framework with OpenWhisk PHP</a></li>
+            <li><a 
href="https://medium.com/openwhisk/serverless-php-how-to-implement-serverless-functions-in-php-using-openwhisk-9943dc06f544";>Serverless
 PHP: How to implement serverless functions in PHP using OpenWhisk</a></li>
+          </ul>
         </div>
 
         <!-- ************************************** -->
@@ -1876,32 +1916,141 @@ function addListenersToSections()
           </p>
           <a class="indexable" id="ruby-additional-resources"></a>
           <h5>Additional Resources</h5>
+          <p></p>
+          <h6>Medium Blogs <span style="font-weight:normal;">(tagged <a 
href="https://medium.com/openwhisk/tagged/ruby";>ruby</a>)</span></h6>
           <ul>
-            <li>Coming soon...</li>
+            <li><a 
href="https://medium.com/openwhisk/ruby-goes-serverless-apache-openwhisk-adds-native-support-for-ruby-7134faee14e";>Ruby
 goes Serverless! - Apache OpenWhisk adds native support for Ruby</a></li>
           </ul>
         </div>
 
         <!-- ************************************** -->
-        <!-- TODO: Actions - Swift                  -->
+        <!-- Actions - Swift                        -->
         <!-- ************************************** -->
-
-        <!-- <a class="indexable" id="swift"></a>
-        <h4 id="section-swift" >using Swift</h4>
-        <p></p>
-        <a class="indexable" id="swift-actions"></a>
-        <h5>Creating and Invoking Swift actions</h5>
-        <p>
+        <a class="indexable" id="swift"></a>
+        <h6 id="section-swift" class="section-toggle">using Swift</h6>
+        <div class="section-toggleable section-toggle-start-closed">
+          <p></p>
+          <a class="indexable" id="actions-swift"></a>
+          <h5>Creating And Invoking Swift Actions</h5>
+          <p>
             Let's look at how to write a sample hello world action in Swift.
-        </p>
-        <p>
-            <strong>Note:</strong> We will be using <i>wsk</i> CLI in this 
section. If you don't have it installed and configured,
-            please refer to the section on <a href="#wsk-cli">Configure the 
wsk CLI</a> to configure it.
-        </p>
-        <a class="indexable" id="swift-runtime"></a>
-        <h5>OpenWhisk Runtime for Swift</h5>
-        <p></p>
-        <a class="indexable" id="swift-additional-resources"></a>
-        <h5>Additional Resources</h5> -->
+            You can visit
+            <a 
href="https://github.com/apache/incubator-openwhisk-runtime-swift#quick-swift-action";>Quick
 Swift Action</a>
+            page for further details.
+          </p>
+          <p>
+            <strong>Note:</strong> We will be using <i>wsk</i> CLI in this
+            section. If you don't have it installed and configured,
+            please refer to the section
+            <a href="#wsk-cli">OpenWhisk CLI (wsk)</a>.
+          </p>
+          <ol>
+            <li style="list-style-type: decimal">
+              <a class="indexable" id="hello-swift"></a>
+              Create a file named <i>hello.swift</i>:
+              <div class="terminal">
+
+<figure class="highlight"><pre><code class="language-java" 
data-lang="java"><table style="border-spacing: 0"><tbody><tr><td class="gutter 
gl" style="text-align: right"><pre class="lineno">1
+2
+3
+4
+5
+6
+7</pre></td><td class="code"><pre><span class="n">func</span> <span 
class="nf">main</span><span class="o">(</span><span class="nl">args:</span> 
<span class="o">[</span><span class="nl">String:</span><span 
class="n">Any</span><span class="o">])</span> <span class="o">-&gt;</span> 
<span class="o">[</span><span class="nl">String:</span><span 
class="n">Any</span><span class="o">]</span> <span class="o">{</span>
+    <span class="k">if</span> <span class="n">let</span> <span 
class="n">name</span> <span class="o">=</span> <span class="n">args</span><span 
class="o">[</span><span class="s">"name"</span><span class="o">]</span> <span 
class="n">as</span><span class="o">?</span> <span class="n">String</span> <span 
class="o">{</span>
+        <span class="k">return</span> <span class="o">[</span> <span 
class="s">"greeting"</span> <span class="o">:</span> <span class="s">"Hello 
\(name)!"</span> <span class="o">]</span>
+    <span class="o">}</span> <span class="k">else</span> <span 
class="o">{</span>
+        <span class="k">return</span> <span class="o">[</span> <span 
class="s">"greeting"</span> <span class="o">:</span> <span class="s">"Hello 
swif4!"</span> <span class="o">]</span>
+    <span class="o">}</span>
+<span class="o">}</span><span class="w">
+</span></pre></td></tr></tbody></table></code></pre></figure>
+
+              </div>
+            </li>
+            <li style="list-style-type: decimal">
+              Create an action <i>helloSwift</i>:
+              <div class="terminal">
+
+<figure class="highlight"><pre><code class="language-bash" 
data-lang="bash"><span class="gp">$ </span>wsk action create helloSwift 
hello.swift</code></pre></figure>
+
+              </div>
+            </li>
+            <li style="list-style-type: decimal">
+                Invoke an action <i>helloSwift</i>:
+              <div class="terminal">
+
+<figure class="highlight"><pre><code class="language-bash" 
data-lang="bash"><span class="gp">$ </span>wsk action invoke helloSwift -r -p 
name Carlos</code></pre></figure>
+
+              </div>
+              <div class="terminal">
+
+<figure class="highlight"><pre><code class="language-yaml" 
data-lang="yaml"><span class="pi">{</span>
+<span class="s2">"</span><span class="s">msg"</span><span class="pi">:</span> 
<span class="s2">"</span><span class="s">Hello</span><span class="nv"> 
</span><span class="s">Carlos!"</span>
+<span class="pi">}</span></code></pre></figure>
+
+              </div>
+            </li>
+            <li style="list-style-type: decimal">
+              Deploy using <i>wskdeploy</i>:
+              <p>
+                <strong>Note:</strong> We will be using <i>wskdeploy</i> in
+                this section. If you don't have the binary,
+                please refer to the section
+                on <a href="#wskdeploy">Whisk Deploy</a> to download it.
+              </p>
+              <ol>
+                <li>Create a directory called <i>actions</i> with
+                  <i>hello.swift</i> from step 1 <a 
href="#hello-swift">above</a>.
+                </li>
+                <li>
+                  Create <i>manifest.yaml</i> with the following YAML content:
+                  <div class="terminal">
+
+<figure class="highlight"><pre><code class="language-yaml" 
data-lang="yaml"><table style="border-spacing: 0"><tbody><tr><td class="gutter 
gl" style="text-align: right"><pre class="lineno">1
+2
+3
+4
+5</pre></td><td class="code"><pre><span class="s">packages</span><span 
class="pi">:</span>
+    <span class="s">default</span><span class="pi">:</span>
+        <span class="s">actions</span><span class="pi">:</span>
+            <span class="s">helloSwift</span><span class="pi">:</span>
+                <span class="s">function</span><span class="pi">:</span> <span 
class="s">hello.swift</span><span class="w">
+</span></pre></td></tr></tbody></table></code></pre></figure>
+
+                  </div>
+                </li>
+                <li>
+                  Run deployment with <i>wskdeploy</i>:
+                  <div class="terminal">
+
+<figure class="highlight"><pre><code class="language-bash" 
data-lang="bash"><span class="gp">$ </span>wskdeploy -m 
manifest.yaml</code></pre></figure>
+
+                  </div>
+                </li>
+              </ol>
+            </li>
+          </ol>
+          <a class="indexable" id="swift-runtime"></a>
+          <h5>OpenWhisk Runtime for Swift</h5>
+          <p>
+            If you wish to learn more about Swift runtime along with
+            the libraries that are supported or "built-in" by
+            default, please visit the project REAMDE
+            <a 
href="https://github.com/apache/incubator-openwhisk-runtime-swift#apache-openwhisk-runtimes-for-swift";>Apache
 OpenWhisk runtimes for Swift</a>.
+          </p>
+          <a class="indexable" id="swift-additional-resources"></a>
+          <h5>Additional Resources</h5>
+          <ul>
+            <li><a 
href="https://github.com/apache/incubator-openwhisk-runtime-swift#swift-4x-support";>Swift
 4.x Codeable style example</a></li>
+            <li><a 
href="https://github.com/apache/incubator-openwhisk-runtime-swift#packaging-an-action-as-a-swift-executable-using-swift-4";>Packaging
 an action as a Swift executable using Swift 4</a></li>
+          </ul>
+          <h6>Medium Blogs <span style="font-weight:normal;">(tagged <a 
href="https://medium.com/openwhisk/tagged/swift";>swift</a>)</span></h6>
+          <ul>
+            <li><a 
href="https://medium.com/openwhisk/serverless-swift-with-openwhisk-4f84129e6839";>Serverless
 Swift With OpenWhisk</a></li>
+            <li><a 
href="https://medium.com/openwhisk/creating-swift-binaries-for-openwhisk-487526d0d576";>Creating
 Swift Binaries for OpenWhisk</a></li>
+            <li><a 
href="https://medium.com/openwhisk/creating-an-openwhisk-alexa-skill-583824bf58cb";>Creating
 an OpenWhisk Alexa skill</a> using Swift</li>
+          </ul>
+        </div>
 
         <!-- ************************************** -->
         <!-- TODO: Actions - Docker                 -->
@@ -1932,27 +2081,25 @@ function addListenersToSections()
     </main> <!-- creating and invoking actions -->
 
     <!-- *************************************************************** -->
-    <!-- Packages                                                        -->
+    <!-- Packages Managing Actions                                       -->
     <!-- *************************************************************** -->
-
-    <!-- Managing Actions with OpenWhisk Packages -->
     <main class="doc">
       <div class="content">
         <a class="indexable" id="managing_actions_with_openwhisk_packages"></a>
-        <h4>Managing Actions with OpenWhisk Packages</h4>
+        <h3>Managing Actions with OpenWhisk Packages</h3>
         <p>
-          <strong>What is a package?</strong> In OpenWhisk, you can use 
packages to bundle together a set of related actions, and share them with 
others.
+          <question>What is a package?</question> In OpenWhisk, you can use 
packages to bundle together a set of related actions, and share them with 
others.
           OpenWhisk comes with a list of packages
           You can get more details on OpenWhisk packages
           <a 
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/packages.md#using-and-creating-openwhisk-packages";>here</a>.
         </p>
         <p>
-          <strong>Does OpenWhisk comes with any pre-installed 
packages?</strong>
+          <question>Does OpenWhisk comes with any pre-installed 
packages?</question>
           OpenWhisk comes with a list of pre-installed public packages which 
can be used by anyone.
           OpenWhisk has created a dedicated shared namespace 
<strong>/whisk.system</strong> for all the public packages.
         </p>
         <p>
-          <strong>Which all packages are available under 
/whisk.system?</strong>
+          <question>Which all packages are available under 
/whisk.system?</question>
           You can get a list of packages available in shared namespace by 
using wsk CLI:
         </p>
         <ul>
@@ -1974,7 +2121,7 @@ function addListenersToSections()
           </li>
         </ul>
         <p>
-          <strong>How do I invoke an action from a public package?</strong>
+          <question>How do I invoke an action from a public package?</question>
           There are two way to invoke an action from a package,
           (1) Invoking an action directly from a package
           (2) Creating a package binding and then invoking an action in the 
binding.
@@ -2062,7 +2209,7 @@ function addListenersToSections()
           </li>
         </ul>
         <p>
-          <strong>Where do I get more information on packages?</strong>
+          <question>Where do I get more information on packages?</question>
           Please read
           <a 
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/packages.md#using-and-creating-openwhisk-packages";>OpenWhisk
 Packages</a>
           for further details.
@@ -2073,7 +2220,7 @@ function addListenersToSections()
     <main class="doc">
       <div class="content">
         <a class="indexable" id="automating_actions_from_event_sources"></a>
-        <h4>Automating Actions from Event Sources</h4>
+        <h3>Automating Actions from Event Sources</h3>
         <p>In this section, we will show how to automate Actions in response
           to events coming from Event Sources.
           Specifically, we will show how to create, fire
@@ -2220,7 +2367,7 @@ abcd.... locationUpdate
     <main class="doc">
       <div class="content">
           <a class="indexable" id="using_openwhisk_enabled_services"></a>
-          <h4>Using OpenWhisk Enabled Services</h4>
+          <h3>Using OpenWhisk Enabled Services</h3>
           <p></p>
           <p>
             OpenWhisk offers a catalog of packages which gives you can easy
@@ -2301,7 +2448,7 @@ abcd.... locationUpdate
     <main class="doc">
       <div class="content">
         <a class="indexable" id="sample_openwhisk_applications"></a>
-        <h4>Sample OpenWhisk Applications</h4>
+        <h3>Sample OpenWhisk Applications</h3>
         <p></p>
         <h5>GitHub Slack Bot</h5>
         <p style="padding-left: 2em;">
@@ -2336,7 +2483,7 @@ abcd.... locationUpdate
     <main class="doc">
       <div class="content">
           <a class="indexable" id="tutorial_and_workshop"></a>
-          <h4>Tutorial and Workshop</h4>
+          <h3>Tutorial and Workshop</h3>
           <p></p>
           <h5>OpenWhisk Tutorial</h5>
           <p style="padding-left: 2em;">
@@ -2356,7 +2503,7 @@ abcd.... locationUpdate
     <main class="doc">
       <div class="content">
         <a class="indexable" id="development_tools"></a>
-        <h4>Development Tools</h4>
+        <h3>Development Tools</h3>
         <p></p>
         <h5>The OpenWhisk Debugger</h5>
         <p class="indented">
@@ -2385,7 +2532,7 @@ abcd.... locationUpdate
         others' Pull Requests (PRs).
         </p>
         <p>
-        The following Wiki pages describe the How Tos of becoming an
+        The following Wiki pages describe the "How Tos" of becoming an
         official Contributor:
         </p>
         <ul>
@@ -2397,16 +2544,18 @@ abcd.... locationUpdate
         <!-- Contributors - project Structure                        -->
         <!-- ******************************************************* -->
         <a class="indexable" id="project-structure"></a>
-        <h4>Project Structure</h4>
+        <h3>Project Structure</h3>
         <p>OpenWhisk is comprised of multiple repositories that can be
           found in Apache GitHub (using a name query by repository):</p>
-        <p><a 
href="https://github.com/apache?q=openwhisk";>https://github.com/apache?q=openwhisk</a></p>
+        <ul>
+          <li><a 
href="https://github.com/apache?q=openwhisk";>https://github.com/apache?q=openwhisk</a></li>
+        </ul>
         <p>For convenience, here is a listing of current Apache OpenWhisk
           project repositories (by category).</p>
         <p><strong>Note:</strong> OpenWhisk repositories follow a naming 
convention where all repo starts with <i>incubator</i>, for example, 
<i>openwhisk-cli</i> GitHub repository is named 
<i>incubator-openwhisk-cli</i>.</p>
         <div class="flow-columns">
           <div class="project-structure-repo theme-deeper-sea-green">
-            <h4>Platform</h4>
+            <h5>Platform</h5>
             <p>Primary source code repositories including platform code,
               run books, tests and more.</p>
             <p class="repo-title border-deeper-sea-green">
@@ -2436,7 +2585,7 @@ abcd.... locationUpdate
             </p>
           </div>
           <div class="project-structure-repo theme-deeper-sky-blue">
-            <h4>Runtimes</h4>
+            <h5>Runtimes</h5>
             <p>OpenWhisk supports several languages via Docker runtime
               containers.</p>
             <p class="repo-title border-deeper-sky-blue">
@@ -2481,7 +2630,7 @@ abcd.... locationUpdate
             </p>
           </div>
           <div class="project-structure-repo theme-darkgoldenrod">
-            <h4>Deployments</h4>
+            <h5>Deployments</h5>
             <p>OpenWhisk can be deployed and configured on variety of 
platforms.</p>
             <p class="repo-title border-darkgoldenrod">
               <a 
href="https://github.com/apache/incubator-openwhisk-deploy-kube";
@@ -2525,7 +2674,7 @@ abcd.... locationUpdate
             </p>
           </div>
           <div class="project-structure-repo theme-deeper-aquamarine">
-            <h4>Tooling</h4>
+            <h5>Tooling</h5>
             <p>OpenWhisk provides variety of tools around deployment and 
development.</p>
             <p class="repo-title border-deeper-aquamarine">
               <a href="https://github.com/apache/incubator-openwhisk-wskdeploy";
@@ -2577,7 +2726,7 @@ abcd.... locationUpdate
             </p>
           </div>
           <div class="project-structure-repo theme-darksalmon">
-            <h4>Packages</h4>
+            <h5>Packages</h5>
             <p>Several common service integrations are made available as
               packages. By default they are registered in the OpenWHisk
               catalog, under the <em>/whisk.system/</em> namespace,
@@ -2644,7 +2793,7 @@ abcd.... locationUpdate
             </p>
           </div>
           <div class="project-structure-repo theme-deeper-aquamarine">
-            <h4>Clients and SDK</h4>
+            <h5>Clients and SDK</h5>
             <p>Here are the clients to access to OpenWhisk API:</p>
             <p class="repo-title  border-deeper-aquamarine">
               <a href="https://github.com/apache/incubator-openwhisk-client-go";
@@ -2673,7 +2822,7 @@ abcd.... locationUpdate
             </p>
           </div>
           <div class="project-structure-repo theme-darkorange">
-            <h4>Samples</h4>
+            <h5>Samples</h5>
             <p>Few example applications to demonstrate OpenWhisk features and 
functionalities:</p>
             <p class="repo-title border-darkorange">
               <a 
href="https://github.com/apache/incubator-openwhisk-sample-slackbot";
@@ -2714,7 +2863,7 @@ abcd.... locationUpdate
             </p>
           </div>
           <div class="project-structure-repo theme-darkred">
-            <h4>Others</h4>
+            <h5>Others</h5>
             <p>Few other misc. but crucial repositories.</p>
             <p class="repo-title border-darkred">
               <a href="https://github.com/apache/incubator-openwhisk-release";
@@ -2782,7 +2931,7 @@ abcd.... locationUpdate
         <!-- ***************************************************** -->
 
         <a class="indexable" id="openwhisk_architecture"></a>
-        <h4>OpenWhisk Architecture</h4>
+        <h3>OpenWhisk Architecture</h3>
         <p>
           The diagram below depicts the high-level architecture of
           OpenWhisk. From Nginx to Kafka to Docker, multiple
@@ -2806,7 +2955,7 @@ abcd.... locationUpdate
         <!-- Operators - Deployment Options                        -->
         <!-- ***************************************************** -->
         <a class="indexable" id="openwhisk_deployment"></a>
-        <h4>Deployment Options</h4>
+        <h3>Deployment Options</h3>
         <p>
           OpenWhisk offers different deployment options
           for installing and configuring the OpenWhisk platform components.
@@ -2830,7 +2979,7 @@ abcd.... locationUpdate
           Google, IBM Cloud, etc.).
         </p>
 
-        <h4>Alternative options</h4>
+        <h3>Alternative options</h3>
         <p>Here are some alternate choices for deploying the OpenWhisk
           platform:
         </p>
@@ -2915,7 +3064,7 @@ abcd.... locationUpdate
         <!-- Operators  - Admin                                      -->
         <!-- ******************************************************* -->
         <a class="indexable" id="deployment_admin"></a>
-        <h4>Administrative Operations</h4>
+        <h3>Administrative Operations</h3>
         <p>
           This section contains a list of resources which can be utilized
           to administer the running OpenWhisk instance.
@@ -2928,7 +3077,7 @@ abcd.... locationUpdate
         <!-- Operators  - Resources                                  -->
         <!-- ******************************************************* -->
         <a class="indexable" id="operators_resources"></a>
-        <h4>Operator Resources</h4>
+        <h3>Operator Resources</h3>
         <ul>
           <li><a 
href="https://medium.com/openwhisk/five-minute-intro-to-open-source-serverless-development-with-openwhisk-328b0ebfa160";>Five
 minute intro to open source serverless development with OpenWhisk</a></li>
           <li><a 
href="https://thenewstack.io/behind-scenes-apache-openwhisk-serverless-platform/";>An
 Architectural View of Apache OpenWhisk</a></li>
@@ -2944,7 +3093,7 @@ abcd.... locationUpdate
     <main class="doc">
       <div class="content">
         <a class="indexable" id="other-resources"></a>
-        <h2>Other Resources</h2>
+        <h3>Other Resources</h3>
         <ul>
           <li><a href="events.html">Events</a> - list of past OpenWhisk
             events</li>
@@ -2959,7 +3108,7 @@ abcd.... locationUpdate
     <main class="doc">
       <div class="content">
         <a class="indexable" id="faq"></a>
-        <h2>Frequently Asked Questions</h2>
+        <h3>Frequently Asked Questions</h3>
         <ul>
     <li>
         <a class="indexable" id="get-involved"></a>
diff --git a/downloads.html b/downloads.html
index 98ab5dd..fc2ca06 100644
--- a/downloads.html
+++ b/downloads.html
@@ -36,7 +36,7 @@ function toggleReferencedSection( parentId, expand )
   console.log( "toggleReferencedSection(): parentId=" + parentId + " expand=" 
+ expand);
   if (parentId !== ""){
     sectionName = parentId.replace("index", "section");
-    console.log( "toggleReferencedSection(): sectionName=" + sectionName);
+    //console.log( "toggleReferencedSection(): sectionName=" + sectionName);
     sectionHeader = document.getElementById(sectionName);
     section = sectionHeader.nextElementSibling;
     if(expand){
@@ -61,8 +61,7 @@ function addListenersToIndex()
 
     if(sibling!==null){
         coll[i].style.listStyleImage = 
"url('../images/elements/arrow-right-12px.png')";
-        // (top right bottom left)
-        // make room on left for image/icon
+        // make room on left for image/icon (top right bottom left)
         sibling.style.padding = "0px 0px 0px 20px";
 
         if(sibling.classList.contains('index-menu-start-open')){
@@ -114,7 +113,7 @@ function addListenersToSections()
         coll[i].style.backgroundImage = 
"url('../images/elements/circle-plus.png')";
         sibling.style.display = "none";
       } else {
-        console.log( "addListenersToSections(): No Toggle style foun; default 
to open");
+        //console.log( "addListenersToSections(): No Toggle style foun; 
default to open");
         coll[i].style.backgroundImage = 
"url('../images/elements/circle-minus.png')";
         sibling.style.display = "block";
       }
@@ -125,18 +124,18 @@ function addListenersToSections()
       var sibling = this.nextElementSibling;
       // toggle menu open/close states
       if(sibling!==null){
-        console.log("sibling.style.display: ["+sibling.style.display+"]");
+        //console.log("sibling.style.display: ["+sibling.style.display+"]");
         if (sibling.style.display !== "none") {
-          console.log("collapsing");
+          //console.log("collapsing");
           sibling.style.display = "none";
           this.style.backgroundImage = 
"url('../images/elements/circle-plus.png')";
         } else {
-          console.log("expanding");
+          //console.log("expanding");
           sibling.style.display = "block";
           this.style.backgroundImage = 
"url('../images/elements/circle-minus.png')";
         }
       }
-      
+
     });
   }
 }
@@ -272,7 +271,7 @@ function addListenersToSections()
                   <div class="content">
                    <div class="flow-columns">
                       <div class="project-structure-repo 
theme-deeper-sea-green">
-                        <h4>OpenWhisk Runtime Node.js</h4>
+                        <h5>OpenWhisk Runtime Node.js</h5>
                         <p class="repo-title border-deeper-sea-green">
                           <a
                             
href="https://www.apache.org/dyn/closer.lua?filename=incubator/openwhisk/apache-openwhisk-1.12.0-incubating/openwhisk-runtime-nodejs-1.12.0-incubating-sources.tar.gz&action=download";>
@@ -294,7 +293,7 @@ function addListenersToSections()
                       </div>
 
                       <div class="project-structure-repo 
theme-deeper-sky-blue">
-                        <h4>OpenWhisk Runtime Java</h4>
+                        <h5>OpenWhisk Runtime Java</h5>
                         <p class="repo-title border-deeper-sky-blue">
                           <a
                             
href="https://www.apache.org/dyn/closer.lua?filename=incubator/openwhisk/apache-openwhisk-1.12.0-incubating/openwhisk-runtime-java-1.12.0-incubating-sources.tar.gz&action=download";>
@@ -316,7 +315,7 @@ function addListenersToSections()
                       </div>
 
                       <div class="project-structure-repo theme-darkgoldenrod">
-                        <h4>OpenWhisk Runtime Docker</h4>
+                        <h5>OpenWhisk Runtime Docker</h5>
                         <p class="repo-title border-darkgoldenrod">
                           <a
                             
href="https://www.apache.org/dyn/closer.lua?filename=incubator/openwhisk/apache-openwhisk-1.12.0-incubating/openwhisk-runtime-docker-1.12.0-incubating-sources.tar.gz&action=download";>
@@ -338,7 +337,7 @@ function addListenersToSections()
                       </div>
 
                       <div class="project-structure-repo 
theme-deeper-aquamarine">
-                        <h4>OpenWhisk Runtime Python</h4>
+                        <h5>OpenWhisk Runtime Python</h5>
                         <p class="repo-title border-deeper-aquamarine">
                           <a
                             
href="https://www.apache.org/dyn/closer.lua?filename=incubator/openwhisk/apache-openwhisk-1.12.0-incubating/openwhisk-runtime-python-1.12.0-incubating-sources.tar.gz&action=download";>
@@ -360,7 +359,7 @@ function addListenersToSections()
                       </div>
 
                       <div class="project-structure-repo theme-darksalmon">
-                        <h4>OpenWhisk Runtime PHP</h4>
+                        <h5>OpenWhisk Runtime PHP</h5>
                         <p class="repo-title border-darksalmon">
                           <a
                             
href="https://www.apache.org/dyn/closer.lua?filename=incubator/openwhisk/apache-openwhisk-1.12.0-incubating/openwhisk-runtime-php-1.12.0-incubating-sources.tar.gz&action=download";>
@@ -382,7 +381,7 @@ function addListenersToSections()
                       </div>
 
                       <div class="project-structure-repo theme-darkorange">
-                        <h4>OpenWhisk Runtime Swift</h4>
+                        <h5>OpenWhisk Runtime Swift</h5>
                         <p class="repo-title border-darkorange">
                           <a
                             
href="https://www.apache.org/dyn/closer.lua?filename=incubator/openwhisk/apache-openwhisk-1.12.0-incubating/openwhisk-runtime-swift-1.12.0-incubating-sources.tar.gz&action=download";>
@@ -411,7 +410,7 @@ function addListenersToSections()
                   <div class="content">
                     <div class="flow-columns">
                       <div class="project-structure-repo 
theme-deeper-sea-green">
-                        <h4>OpenWhisk</h4>
+                        <h5>OpenWhisk</h5>
                         <p>Core service of OpenWhisk.</p>
                         <p class="repo-title border-deeper-sea-green">
                           <a
@@ -434,7 +433,7 @@ function addListenersToSections()
                       </div>
 
                       <div class="project-structure-repo 
theme-deeper-sky-blue">
-                        <h4>OpenWhisk CLI</h4>
+                        <h5>OpenWhisk CLI</h5>
                         <p>OpenWhisk command-line interface.</p>
                         <p class="repo-title border-deeper-sky-blue">
                           <a
@@ -457,7 +456,7 @@ function addListenersToSections()
                       </div>
 
                       <div class="project-structure-repo theme-darkgoldenrod">
-                        <h4>OpenWhisk Client Go</h4>
+                        <h5>OpenWhisk Client Go</h5>
                         <p>OpenWhisk client library in Go.</p>
                         <p class="repo-title border-darkgoldenrod">
                           <a
@@ -480,7 +479,7 @@ function addListenersToSections()
                       </div>
 
                       <div class="project-structure-repo 
theme-deeper-aquamarine">
-                        <h4>OpenWhisk Wskdeploy</h4>
+                        <h5>OpenWhisk Wskdeploy</h5>
                         <p>OpenWhisk utility to configure OpenWhisk entities 
with a Manifest file written in YAML, and deploy them in a single command.</p>
                         <p class="repo-title border-deeper-aquamarine">
                           <a
@@ -503,7 +502,7 @@ function addListenersToSections()
                       </div>
 
                       <div class="project-structure-repo theme-darksalmon">
-                        <h4>OpenWhisk Catalog</h4>
+                        <h5>OpenWhisk Catalog</h5>
                         <p>Package catalogs of OpenWhisk, which provides an 
easy way to enhance your application with useful capabilities, and to access 
external services in the ecosystem.</p>
                         <p class="repo-title border-darksalmon">
                           <a
@@ -526,7 +525,7 @@ function addListenersToSections()
                       </div>
 
                       <div class="project-structure-repo theme-darkorange">
-                        <h4>OpenWhisk Apigateway</h4>
+                        <h5>OpenWhisk Apigateway</h5>
                         <p>A performant API Gateway based on Openresty and 
NGINX.</p>
                         <p class="repo-title border-darkorange">
                           <a
diff --git a/events.html b/events.html
index 1a85cff..c06cb85 100644
--- a/events.html
+++ b/events.html
@@ -36,7 +36,7 @@ function toggleReferencedSection( parentId, expand )
   console.log( "toggleReferencedSection(): parentId=" + parentId + " expand=" 
+ expand);
   if (parentId !== ""){
     sectionName = parentId.replace("index", "section");
-    console.log( "toggleReferencedSection(): sectionName=" + sectionName);
+    //console.log( "toggleReferencedSection(): sectionName=" + sectionName);
     sectionHeader = document.getElementById(sectionName);
     section = sectionHeader.nextElementSibling;
     if(expand){
@@ -61,8 +61,7 @@ function addListenersToIndex()
 
     if(sibling!==null){
         coll[i].style.listStyleImage = 
"url('../images/elements/arrow-right-12px.png')";
-        // (top right bottom left)
-        // make room on left for image/icon
+        // make room on left for image/icon (top right bottom left)
         sibling.style.padding = "0px 0px 0px 20px";
 
         if(sibling.classList.contains('index-menu-start-open')){
@@ -114,7 +113,7 @@ function addListenersToSections()
         coll[i].style.backgroundImage = 
"url('../images/elements/circle-plus.png')";
         sibling.style.display = "none";
       } else {
-        console.log( "addListenersToSections(): No Toggle style foun; default 
to open");
+        //console.log( "addListenersToSections(): No Toggle style foun; 
default to open");
         coll[i].style.backgroundImage = 
"url('../images/elements/circle-minus.png')";
         sibling.style.display = "block";
       }
@@ -125,18 +124,18 @@ function addListenersToSections()
       var sibling = this.nextElementSibling;
       // toggle menu open/close states
       if(sibling!==null){
-        console.log("sibling.style.display: ["+sibling.style.display+"]");
+        //console.log("sibling.style.display: ["+sibling.style.display+"]");
         if (sibling.style.display !== "none") {
-          console.log("collapsing");
+          //console.log("collapsing");
           sibling.style.display = "none";
           this.style.backgroundImage = 
"url('../images/elements/circle-plus.png')";
         } else {
-          console.log("expanding");
+          //console.log("expanding");
           sibling.style.display = "block";
           this.style.backgroundImage = 
"url('../images/elements/circle-minus.png')";
         }
       }
-      
+
     });
   }
 }
diff --git a/feed.xml b/feed.xml
index 4354dbe..078d0ab 100644
--- a/feed.xml
+++ b/feed.xml
@@ -1,2 +1,2 @@
-<?xml version="1.0" encoding="utf-8"?><feed 
xmlns="http://www.w3.org/2005/Atom"; ><generator uri="https://jekyllrb.com/"; 
version="3.3.0">Jekyll</generator><link href="/feed.xml" rel="self" 
type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" 
/><updated>2018-11-27T19:00:28+00:00</updated><id>/feed.xml</id><title 
type="html">Apache OpenWhisk is a serverless, open source cloud 
platform</title><subtitle>An open source platform for serverless, event-driven 
code at any  [...]
+<?xml version="1.0" encoding="utf-8"?><feed 
xmlns="http://www.w3.org/2005/Atom"; ><generator uri="https://jekyllrb.com/"; 
version="3.3.0">Jekyll</generator><link href="/feed.xml" rel="self" 
type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" 
/><updated>2018-11-30T21:57:16+00:00</updated><id>/feed.xml</id><title 
type="html">Apache OpenWhisk is a serverless, open source cloud 
platform</title><subtitle>An open source platform for serverless, event-driven 
code at any  [...]
 </subtitle></feed>
\ No newline at end of file
diff --git a/index.html b/index.html
index 15ee999..388d0bc 100644
--- a/index.html
+++ b/index.html
@@ -36,7 +36,7 @@ function toggleReferencedSection( parentId, expand )
   console.log( "toggleReferencedSection(): parentId=" + parentId + " expand=" 
+ expand);
   if (parentId !== ""){
     sectionName = parentId.replace("index", "section");
-    console.log( "toggleReferencedSection(): sectionName=" + sectionName);
+    //console.log( "toggleReferencedSection(): sectionName=" + sectionName);
     sectionHeader = document.getElementById(sectionName);
     section = sectionHeader.nextElementSibling;
     if(expand){
@@ -61,8 +61,7 @@ function addListenersToIndex()
 
     if(sibling!==null){
         coll[i].style.listStyleImage = 
"url('../images/elements/arrow-right-12px.png')";
-        // (top right bottom left)
-        // make room on left for image/icon
+        // make room on left for image/icon (top right bottom left)
         sibling.style.padding = "0px 0px 0px 20px";
 
         if(sibling.classList.contains('index-menu-start-open')){
@@ -114,7 +113,7 @@ function addListenersToSections()
         coll[i].style.backgroundImage = 
"url('../images/elements/circle-plus.png')";
         sibling.style.display = "none";
       } else {
-        console.log( "addListenersToSections(): No Toggle style foun; default 
to open");
+        //console.log( "addListenersToSections(): No Toggle style foun; 
default to open");
         coll[i].style.backgroundImage = 
"url('../images/elements/circle-minus.png')";
         sibling.style.display = "block";
       }
@@ -125,18 +124,18 @@ function addListenersToSections()
       var sibling = this.nextElementSibling;
       // toggle menu open/close states
       if(sibling!==null){
-        console.log("sibling.style.display: ["+sibling.style.display+"]");
+        //console.log("sibling.style.display: ["+sibling.style.display+"]");
         if (sibling.style.display !== "none") {
-          console.log("collapsing");
+          //console.log("collapsing");
           sibling.style.display = "none";
           this.style.backgroundImage = 
"url('../images/elements/circle-plus.png')";
         } else {
-          console.log("expanding");
+          //console.log("expanding");
           sibling.style.display = "block";
           this.style.backgroundImage = 
"url('../images/elements/circle-minus.png')";
         }
       }
-      
+
     });
   }
 }
@@ -216,10 +215,28 @@ function addListenersToSections()
         <div class="content">
             <h4>What is Apache OpenWhisk?</h4>
             <p>
-                Apache OpenWhisk (Incubating) is an open source, distributed 
<a href="https://en.wikipedia.org/wiki/Serverless_computing"; 
style="font-weight:bold">Serverless</a> platform that executes functions (<span 
style="font-family:Times New Roman,Georgia,Serif">fx</span>) in response to 
events at any scale. OpenWhisk manages the infrastructure, servers and scaling 
using Docker containers so you can focus on building amazing and efficient 
applications.
+                Apache OpenWhisk (Incubating) is an open source, distributed
+                <a 
href="https://en.wikipedia.org/wiki/Serverless_computing";>Serverless</a>
+                platform that executes functions
+                (<span style="font-family:Times New 
Roman,Georgia,Serif">fx</span>)
+                in response to events at any scale. OpenWhisk manages the
+                infrastructure, servers and scaling using Docker containers
+                so you can focus on building amazing and efficient
+                applications.
             </p>
             <p>
-                The OpenWhisk platform supports a programming model in which 
developers write functional logic (called <a 
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/actions.md";><span
 style="font-weight:bold">Actions</span></a>), in any supported programming 
language, that can be dynamically scheduled and run in response to associated 
events (via <a 
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/triggers_rules.md";><span
 style="font-weight:bo [...]
+                The OpenWhisk platform supports a programming model in which
+                developers write functional logic (called
+                <a 
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/actions.md#openwhisk-actions";>Actions</a>),
+                in any supported programming language, that can be dynamically
+                scheduled and run in response to associated events (via
+                <a 
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/triggers_rules.md#creating-triggers-and-rules";>Triggers</a>)
+                from external sources (
+                <a 
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/feeds.md#implementing-feeds";>Feeds</a>)
+                or from HTTP requests. The project includes a REST API-based
+                Command Line Interface (CLI) along with other tooling to
+                support packaging, catalog services and many popular container
+                deployment options.
             </p>
             <a class="button" 
href="/documentation.html#openwhisk_deployment">Create Your Local Playground</a>
         </div>
@@ -236,7 +253,20 @@ function addListenersToSections()
         <div class="content">
             <h4>Deploys anywhere</h4>
             <p>
-                Since Apache OpenWhisk builds its components using containers 
it easily supports many deployment options both locally and within Cloud 
infrastructures. Options include many of today's popular Container frameworks 
such as <a style="font-weight:bold" 
href="https://github.com/apache/incubator-openwhisk-deploy-kube/blob/master/README.md";>Kubernetes</a>,
 <a style="font-weight:bold" 
href="https://github.com/apache/incubator-openwhisk-deploy-mesos/blob/master/README.md";>Mesos</a
 [...]
+                Since Apache OpenWhisk builds its components using containers
+                it easily supports many deployment options both locally and
+                within Cloud infrastructures. Options include many of today's
+                popular Container frameworks such as
+                <a 
href="https://github.com/apache/incubator-openwhisk-deploy-kube/blob/master/README.md";>Kubernetes</a>,
+                <a 
href="https://github.com/apache/incubator-openwhisk-deploy-mesos/blob/master/README.md";>Mesos</a>,
+                <a 
href="https://github.com/apache/incubator-openwhisk-deploy-openshift/blob/master/README.md";>OpenShift</a>
 and
+                <a 
href="https://github.com/apache/incubator-openwhisk-devtools/blob/master/docker-compose/README.md";>Compose</a>.
+                In general, the community endorses deployment on Kubernetes
+                using
+                <a href="https://helm.sh/Helm";>Helm</a>
+                charts since it provides many easy and convenient
+                implementations for both Devlopers and Operators alike such as
+                <a 
href="https://github.com/apache/incubator-openwhisk-deploy-kube/blob/master/docs/minikube.md";>Minikube</a>.
             </p>
         </div>
     </main>
@@ -247,18 +277,30 @@ function addListenersToSections()
             <h4>Write functions in any language</h4>
             <!-- Possible text addition: "bundle larger or complex 
dependencies, and tailor the runtime environment to suite your needs."" -->
             <p>
-                Work with what you know and love. OpenWhisk supports a growing 
list of your favorite languages such as
-                <b><a 
href="https://github.com/apache/incubator-openwhisk-runtime-nodejs";>NodeJS</a></b>,
-                <b><a 
href="https://github.com/apache/incubator-openwhisk-runtime-swift";>Swift</a></b>,
-                <b><a 
href="https://github.com/apache/incubator-openwhisk-runtime-java";>Java</a></b>,
-                <b><a 
href="https://github.com/apache/incubator-openwhisk-runtime-go";>Go</a></b>,
-                <b><a 
href="https://github.com/apache/incubator-openwhisk-runtime-java";>Scala</a></b>,
-                <b><a 
href="https://github.com/apache/incubator-openwhisk-runtime-python";>Python</a></b>,
-                <b><a 
href="https://github.com/apache/incubator-openwhisk-runtime-php";>PHP</a></b> and
-                <b><a 
href="https://github.com/apache/incubator-openwhisk-runtime-ruby";>Ruby</a></b>.
+                Work with what you know and love. OpenWhisk supports a
+                growing list of your favorite languages such as
+                <a 
href="https://github.com/apache/incubator-openwhisk-runtime-nodejs";>NodeJS</a>,
+                <a 
href="https://github.com/apache/incubator-openwhisk-runtime-swift";>Swift</a>,
+                <a 
href="https://github.com/apache/incubator-openwhisk-runtime-java";>Java</a>,
+                <a 
href="https://github.com/apache/incubator-openwhisk-runtime-go";>Go</a>,
+                <a 
href="https://github.com/apache/incubator-openwhisk-runtime-java";>Scala</a>,
+                <a 
href="https://github.com/apache/incubator-openwhisk-runtime-python";>Python</a>,
+                <a 
href="https://github.com/apache/incubator-openwhisk-runtime-php";>PHP</a> and
+                <a 
href="https://github.com/apache/incubator-openwhisk-runtime-ruby";>Ruby</a>.
             </p>
             <p>
-                If you need languages or libraries the current 
"out-of-the-box" runtimes do not support, you can create and customize your own 
executables as Zip Actions which run on the <b><a 
href="https://github.com/apache/incubator-openwhisk-runtime-docker/blob/master/README.md";>Docker</a></b>
 runtime by using the <b><a 
href="https://github.com/apache/incubator-openwhisk-runtime-docker/blob/master/sdk/docker/README.md";>Docker
 SDK</a></b>.  Some examples of how to support other languag [...]
+                If you need languages or libraries the current
+                "out-of-the-box" runtimes do not support, you can create
+                and customize your own executables as Zip Actions which
+                run on the
+                <a 
href="https://github.com/apache/incubator-openwhisk-runtime-docker/blob/master/README.md";>Docker</a>
+                runtime by using the
+                <a 
href="https://github.com/apache/incubator-openwhisk-runtime-docker/blob/master/sdk/docker/README.md";>Docker
 SDK</a>.
+                Some examples of how to support other languages using
+                Docker Actions include
+                <a 
href="https://medium.com/openwhisk/openwhisk-and-rust-lang-24025734a834";>Rust</a>,
+                and
+                <a 
href="https://github.com/rainbyte/openwhisk-wrapper";>Haskell</a>.
             </p>
             <p>
                 Once you have your function written, use the
@@ -282,26 +324,32 @@ function addListenersToSections()
             <p>
                 OpenWhisk makes it simple for developers to integrate their
                 Actions with many popular services using
-                <a 
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/packages.md";><span
 style="font-weight:bold">Packages</span></a>
+                <a 
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/packages.md";>Packages</a>
                 that are provided either as independently developed
                 projects under the OpenWhisk family or as part of
                 our default
-                <a 
href="https://github.com/apache/incubator-openwhisk-catalog";>catalog</a>.
+                <a 
href="https://github.com/apache/incubator-openwhisk-catalog";>Catalog</a>.
             </p>
             <p>
               Packages offer integrations with general services such as
-                <a 
href="https://github.com/apache/incubator-openwhisk-package-kafka";>Kafka</a> 
message queues,
+                <a 
href="https://github.com/apache/incubator-openwhisk-package-kafka";>Kafka</a>
+                message queues,
                 databases including <a 
href="https://github.com/apache/incubator-openwhisk-package-cloudant";>Cloudant</a>,
-                <a 
href="https://github.com/apache/incubator-openwhisk-package-pushnotifications";>Push
 Notifications</a> from mobile applications,
-                <a 
href="https://github.com/apache/incubator-openwhisk-catalog/tree/master/packages/slack";>Slack</a>
 messaging,
-                and <a 
href="https://github.com/apache/incubator-openwhisk-package-rss";>RSS</a> feeds.
+                <a 
href="https://github.com/apache/incubator-openwhisk-package-pushnotifications";>Push
 Notifications</a>
+                from mobile applications,
+                <a 
href="https://github.com/apache/incubator-openwhisk-catalog/tree/master/packages/slack";>Slack</a>
+                messaging,
+                and <a 
href="https://github.com/apache/incubator-openwhisk-package-rss";>RSS</a>
+                feeds.
                 Development pipelines can take advantage of integrations with
                 <a 
href="https://github.com/apache/incubator-openwhisk-catalog/tree/master/packages/github";>GitHub</a>,
                 <a 
href="https://github.com/apache/incubator-openwhisk-package-jira";>JIRA</a>,
                 or easily connect with custom data services from
                 IBM Watson for <a 
href="https://github.com/apache/incubator-openwhisk-catalog/tree/master/packages/watson-translator";>Translation</a>
-                or <a 
href="https://github.com/apache/incubator-openwhisk-catalog/tree/master/packages/watson-speechToText";>Speech-to-Text</a>,
 as well as the
-                <a 
href="https://github.com/apache/incubator-openwhisk-catalog/tree/master/packages/weather";>Weather</a>
 company.
+                or <a 
href="https://github.com/apache/incubator-openwhisk-catalog/tree/master/packages/watson-speechToText";>Speech-to-Text</a>,
+                as well as the
+                <a 
href="https://github.com/apache/incubator-openwhisk-catalog/tree/master/packages/weather";>Weather</a>
+                company.
             </p>
             <p>
                 You can even use the <a 
href="https://github.com/apache/incubator-openwhisk-package-alarms";>Alarms</a>
diff --git a/slack.html b/slack.html
index 68e059a..003becd 100644
--- a/slack.html
+++ b/slack.html
@@ -36,7 +36,7 @@ function toggleReferencedSection( parentId, expand )
   console.log( "toggleReferencedSection(): parentId=" + parentId + " expand=" 
+ expand);
   if (parentId !== ""){
     sectionName = parentId.replace("index", "section");
-    console.log( "toggleReferencedSection(): sectionName=" + sectionName);
+    //console.log( "toggleReferencedSection(): sectionName=" + sectionName);
     sectionHeader = document.getElementById(sectionName);
     section = sectionHeader.nextElementSibling;
     if(expand){
@@ -61,8 +61,7 @@ function addListenersToIndex()
 
     if(sibling!==null){
         coll[i].style.listStyleImage = 
"url('../images/elements/arrow-right-12px.png')";
-        // (top right bottom left)
-        // make room on left for image/icon
+        // make room on left for image/icon (top right bottom left)
         sibling.style.padding = "0px 0px 0px 20px";
 
         if(sibling.classList.contains('index-menu-start-open')){
@@ -114,7 +113,7 @@ function addListenersToSections()
         coll[i].style.backgroundImage = 
"url('../images/elements/circle-plus.png')";
         sibling.style.display = "none";
       } else {
-        console.log( "addListenersToSections(): No Toggle style foun; default 
to open");
+        //console.log( "addListenersToSections(): No Toggle style foun; 
default to open");
         coll[i].style.backgroundImage = 
"url('../images/elements/circle-minus.png')";
         sibling.style.display = "block";
       }
@@ -125,18 +124,18 @@ function addListenersToSections()
       var sibling = this.nextElementSibling;
       // toggle menu open/close states
       if(sibling!==null){
-        console.log("sibling.style.display: ["+sibling.style.display+"]");
+        //console.log("sibling.style.display: ["+sibling.style.display+"]");
         if (sibling.style.display !== "none") {
-          console.log("collapsing");
+          //console.log("collapsing");
           sibling.style.display = "none";
           this.style.backgroundImage = 
"url('../images/elements/circle-plus.png')";
         } else {
-          console.log("expanding");
+          //console.log("expanding");
           sibling.style.display = "block";
           this.style.backgroundImage = 
"url('../images/elements/circle-minus.png')";
         }
       }
-      
+
     });
   }
 }

Reply via email to