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 204fd03  Automatic Site Publish by Jenkins
204fd03 is described below

commit 204fd034e65673ab8d078f2dbf645466b1fec503
Author: jenkins <us...@infra.apache.org>
AuthorDate: Wed Sep 12 00:54:28 2018 +0000

    Automatic Site Publish by Jenkins
---
 community.html                             | 112 +++++++++++++++------
 css/main-v1.css                            |   2 +-
 documentation.html                         | 156 +++++++++++++++++++----------
 downloads.html                             | 123 ++++++++++++++++-------
 events.html                                | 108 ++++++++++++++------
 feed.xml                                   |   2 +-
 images/elements/circle-minus.png           | Bin 0 -> 19863 bytes
 images/elements/circle-plus.png            | Bin 0 -> 19937 bytes
 images/elements/expand-collapse-circle.psd | Bin 0 -> 26136 bytes
 index.html                                 | 108 ++++++++++++++------
 slack.html                                 | 108 ++++++++++++++------
 11 files changed, 506 insertions(+), 213 deletions(-)

diff --git a/community.html b/community.html
index c781095..24d9847 100644
--- a/community.html
+++ b/community.html
@@ -27,47 +27,95 @@
         <script type="text/javascript">
             
 function applyCollapsible() {
+  addListenersToIndex();
+  addListenersToSections();
+}
+
+function addListenersToIndex()
+{
+  var coll = document.getElementsByClassName("index-menu-toggle");
+  var i;
 
-    var coll = document.getElementsByClassName("collapsible-toggle");
-    var i;
+  // Apply exapandable (arrows) to all menuitems with a sibling
+  for (i = 0; i < coll.length; i++) {
+    var sibling = coll[i].nextElementSibling;
 
-    // Apply exapandable (arrows) to all menuitems with a sibling
-    for (i = 0; i < coll.length; i++) {
-      var sibling = coll[i].nextElementSibling;
+    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
+        sibling.style.padding = "0px 0px 0px 20px";
+    }
 
+    // Set "click" event listener on all menuitems
+    coll[i].addEventListener("click", function() {
+      var sibling = this.nextElementSibling;
+      // toggle menu open/close states
       if(sibling!==null){
-          coll[i].style.listStyleImage = 
"url('../images/elements/arrow-right-12px.png')";
-          // (top right bottom left)
-          sibling.style.padding = "0px 0px 0px 20px";
+        if (sibling.style.display === "block") {
+          this.style.listStyleImage = 
"url('../images/elements/arrow-right-12px.png')";
+          sibling.style.display = "none";
+        } else {
+          this.style.listStyleImage = 
"url('../images/elements/arrow-down-12px.png')";
+          sibling.style.display = "block";
+        }
       }
 
-      // Set "click" event listener on all menuitems
-      coll[i].addEventListener("click", function() {
-        var sibling = this.nextElementSibling;
-        // toggle menu open/close states
-        if(sibling!==null){
-          if (sibling.style.display === "block") {
-            this.style.listStyleImage = 
"url('../images/elements/arrow-right-12px.png')";
-            sibling.style.display = "none";
-          } else {
-            this.style.listStyleImage = 
"url('../images/elements/arrow-down-12px.png')";
-            sibling.style.display = "block";
-          }
-        }
+    });
+  }
+}
+
+function addListenersToSections()
+{
+  var coll = document.getElementsByClassName("section-toggle");
+  var i;
 
-      });
+  // Apply exapandable (arrows) to all menuitems with a sibling
+  for (i = 0; i < coll.length; i++) {
+    var sibling = coll[i].nextElementSibling;
+
+    if(sibling!==null){
+      sibling.setAttribute('data-display', sibling.style.display);
+      if(coll[i].classList.contains("section-toggle-start-open")){
+        coll[i].style.backgroundImage = 
"url('../images/elements/circle-minus.png')";
+      } else {
+        coll[i].style.backgroundImage = 
"url('../images/elements/circle-plus.png')";
+      }
     }
-}
 
-function openIndex() {
-          console.log("openIndex")
-  document.getElementById("index").style.display = "block";
-}
-function closeIndex() {
-            console.log("closeIndex")
-  document.getElementById("index").style.display = "none";
+    // Set "click" event listener on all menuitems
+    coll[i].addEventListener("click", function() {
+      var sibling = this.nextElementSibling;
+      // toggle menu open/close states
+      if(sibling!==null){
+        console.log("sibling.style.display: ["+sibling.style.display+"]");
+        if (sibling.style.display !== "none") {
+          console.log("collapsing");
+          sibling.style.display = "none";
+          this.style.backgroundImage = 
"url('../images/elements/circle-plus.png')";
+        } else {
+          console.log("expanding");
+          sibling.style.display = "block";
+          this.style.backgroundImage = 
"url('../images/elements/circle-minus.png')";
+        }
+      }
+
+    });
+  }
 }
 
+/*
+ *  Debug
+ */
+// function dumpCSSText(element){
+//   var s = '';
+//   var o = getComputedStyle(element);
+//   for(var i = 0; i < o.length; i++){
+//     s+= ">> " + o[i] + ':' + o.getPropertyValue(o[i])+';\n';
+//   }
+//   return s;
+// }
+
         </script>
     </head>
     <!-- Once all page elements are included, register event hooks -->
@@ -124,8 +172,8 @@ function closeIndex() {
       <li><a href="#community">Community</a></li>
 
       <!-- Social Media -->
-      <li class="collapsible-toggle"><a href="#social">Media</a></li>
-      <ul class="collapse-content">
+      <li class="index-menu-toggle"><a href="#social">Media</a></li>
+      <ul class="index-menuitems">
         <li><a href="#github">GitHub</a></li>
         <li><a href="#slack">Slack</a></li>
         <li><a href="#twitter">Twitter</a></li>
diff --git a/css/main-v1.css b/css/main-v1.css
index 6f0a2d6..0f6b6e5 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:20px;line-height:28px}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 3e691d4..2f77b2b 100644
--- a/documentation.html
+++ b/documentation.html
@@ -27,47 +27,95 @@
         <script type="text/javascript">
             
 function applyCollapsible() {
+  addListenersToIndex();
+  addListenersToSections();
+}
+
+function addListenersToIndex()
+{
+  var coll = document.getElementsByClassName("index-menu-toggle");
+  var i;
 
-    var coll = document.getElementsByClassName("collapsible-toggle");
-    var i;
+  // Apply exapandable (arrows) to all menuitems with a sibling
+  for (i = 0; i < coll.length; i++) {
+    var sibling = coll[i].nextElementSibling;
 
-    // Apply exapandable (arrows) to all menuitems with a sibling
-    for (i = 0; i < coll.length; i++) {
-      var sibling = coll[i].nextElementSibling;
+    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
+        sibling.style.padding = "0px 0px 0px 20px";
+    }
 
+    // Set "click" event listener on all menuitems
+    coll[i].addEventListener("click", function() {
+      var sibling = this.nextElementSibling;
+      // toggle menu open/close states
       if(sibling!==null){
-          coll[i].style.listStyleImage = 
"url('../images/elements/arrow-right-12px.png')";
-          // (top right bottom left)
-          sibling.style.padding = "0px 0px 0px 20px";
+        if (sibling.style.display === "block") {
+          this.style.listStyleImage = 
"url('../images/elements/arrow-right-12px.png')";
+          sibling.style.display = "none";
+        } else {
+          this.style.listStyleImage = 
"url('../images/elements/arrow-down-12px.png')";
+          sibling.style.display = "block";
+        }
       }
 
-      // Set "click" event listener on all menuitems
-      coll[i].addEventListener("click", function() {
-        var sibling = this.nextElementSibling;
-        // toggle menu open/close states
-        if(sibling!==null){
-          if (sibling.style.display === "block") {
-            this.style.listStyleImage = 
"url('../images/elements/arrow-right-12px.png')";
-            sibling.style.display = "none";
-          } else {
-            this.style.listStyleImage = 
"url('../images/elements/arrow-down-12px.png')";
-            sibling.style.display = "block";
-          }
-        }
+    });
+  }
+}
 
-      });
+function addListenersToSections()
+{
+  var coll = document.getElementsByClassName("section-toggle");
+  var i;
+
+  // Apply exapandable (arrows) to all menuitems with a sibling
+  for (i = 0; i < coll.length; i++) {
+    var sibling = coll[i].nextElementSibling;
+
+    if(sibling!==null){
+      sibling.setAttribute('data-display', sibling.style.display);
+      if(coll[i].classList.contains("section-toggle-start-open")){
+        coll[i].style.backgroundImage = 
"url('../images/elements/circle-minus.png')";
+      } else {
+        coll[i].style.backgroundImage = 
"url('../images/elements/circle-plus.png')";
+      }
     }
-}
 
-function openIndex() {
-          console.log("openIndex")
-  document.getElementById("index").style.display = "block";
-}
-function closeIndex() {
-            console.log("closeIndex")
-  document.getElementById("index").style.display = "none";
+    // Set "click" event listener on all menuitems
+    coll[i].addEventListener("click", function() {
+      var sibling = this.nextElementSibling;
+      // toggle menu open/close states
+      if(sibling!==null){
+        console.log("sibling.style.display: ["+sibling.style.display+"]");
+        if (sibling.style.display !== "none") {
+          console.log("collapsing");
+          sibling.style.display = "none";
+          this.style.backgroundImage = 
"url('../images/elements/circle-plus.png')";
+        } else {
+          console.log("expanding");
+          sibling.style.display = "block";
+          this.style.backgroundImage = 
"url('../images/elements/circle-minus.png')";
+        }
+      }
+
+    });
+  }
 }
 
+/*
+ *  Debug
+ */
+// function dumpCSSText(element){
+//   var s = '';
+//   var o = getComputedStyle(element);
+//   for(var i = 0; i < o.length; i++){
+//     s+= ">> " + o[i] + ':' + o.getPropertyValue(o[i])+';\n';
+//   }
+//   return s;
+// }
+
         </script>
     </head>
     <!-- Once all page elements are included, register event hooks -->
@@ -124,11 +172,11 @@ function closeIndex() {
             <li><a href="#project-structure">Project Structure</a></li>
 
             <!-- Operators -->
-            <li class="collapsible-toggle"><a 
href="#operators">Operators</a></li>
-            <ul class="collapse-content">
+            <li class="index-menu-toggle"><a 
href="#operators">Operators</a></li>
+            <ul class="index-menuitems">
                 <li><a href="#openwhisk_architecture">OpenWhisk 
Architecture</a></li>
-                <li class="collapsible-toggle"><a 
href="#openwhisk_deployment">OpenWhisk Deployment</a></li>
-                <ul class="collapse-content">
+                <li class="index-menu-toggle"><a 
href="#openwhisk_deployment">OpenWhisk Deployment</a></li>
+                <ul class="index-menuitems">
                     <li><a href="#deploy_docker_compose">Docker 
Compose</a></li>
                     <li><a href="#deploy_kubernetes">Kubernetes</a></li>
                     <li><a href="#deploy_mesos">Mesos</a></li>
@@ -141,13 +189,13 @@ function closeIndex() {
             </ul>
 
             <!-- Developers -->
-            <li class="collapsible-toggle"><a 
href="#developers">Developers</a></li>
-            <ul class="collapse-content">
+            <li class="index-menu-toggle"><a 
href="#developers">Developers</a></li>
+            <ul class="index-menuitems">
                 <li><a href="#pre-requisites">Pre-requisites</a></li>
-                <li class="collapsible-toggle"><a 
href="#using-openwhisk">Using OpenWhisk</a></li>
-                <ul class="collapse-content">
-                    <li class="collapsible-toggle"><a 
href="#wsk-cli">OpenWhisk CLI (wsk)</a></li>
-                    <ul class="collapse-content">
+                <li class="index-menu-toggle"><a href="#using-openwhisk">Using 
OpenWhisk</a></li>
+                <ul class="index-menuitems">
+                    <li class="index-menu-toggle"><a href="#wsk-cli">OpenWhisk 
CLI (wsk)</a></li>
+                    <ul class="index-menuitems">
                         <li><a href="#wsk-cli-install">Installing</a></li>
                         <li><a href="#wsk-cli-configure">Configuring</a></li>
                     </ul>
@@ -155,16 +203,16 @@ function closeIndex() {
                     <li><a href="#rest-api">OpenWhisk REST API</a></li>
                     <li><a href="#openwhisk-clients">OpenWhisk Clients</a></li>
                 </ul>
-                <li class="collapsible-toggle"><a 
href="#actions">Actions</a></li>
-                <ul class="collapse-content">
-                    <li class="collapsible-toggle"><a 
href="#nodejs">NodeJS</a></li>
-                    <ul class="collapse-content">
+                <li class="index-menu-toggle"><a 
href="#actions">Actions</a></li>
+                <ul class="index-menuitems">
+                    <li class="index-menu-toggle"><a 
href="#nodejs">NodeJS</a></li>
+                    <ul class="index-menuitems">
                         <li><a href="#nodejs-actions">Creating and Invoking 
Sample Action</a></li>
                         <li><a href="#nodejs-runtime">NodeJS Runtime</a></li>
                         <li><a href="#nodejs-additional-resources">Additional 
Resources</a></li>
                     </ul>
-                    <li class="collapsible-toggle"><a 
href="#python">Python</a></li>
-                    <ul class="collapse-content">
+                    <li class="index-menu-toggle"><a 
href="#python">Python</a></li>
+                    <ul class="index-menuitems">
                         <li><a href="#python-actions">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>
@@ -175,26 +223,26 @@ function closeIndex() {
                         <li>SDK (Writing Your Own Runtime)</li>
                         <li>Other Resources</li>
                     </ul-->
-                    <li class="collapsible-toggle"><a href="#go">Go</a></li>
-                    <ul class="collapse-content">
+                    <li class="index-menu-toggle"><a href="#go">Go</a></li>
+                    <ul class="index-menuitems">
                         <li><a href="#go-actions">Creating and Invoking 
Action</a></li>
                         <li><a href="#go-runtime">Go Runtime</a></li>
                         <li><a href="#go-additional-resources">Additional 
Resources</a></li>
                     </ul>
-                    <li class="collapsible-toggle"><a 
href="#java">Java</a></li>
-                    <ul class="collapse-content">
+                    <li class="index-menu-toggle"><a href="#java">Java</a></li>
+                    <ul class="index-menuitems">
                         <li><a href="#java-actions">Creating and Invoking 
Action</a></li>
                         <li><a href="#java-runtime">Java Runtime</a></li>
                         <li><a href="#java-additional-resources">Additional 
Resources</a></li>
                     </ul>
-                    <li class="collapsible-toggle"><a href="#php">PHP</a></li>
-                    <ul class="collapse-content">
+                    <li class="index-menu-toggle"><a href="#php">PHP</a></li>
+                    <ul class="index-menuitems">
                         <li><a href="#php-actions">Creating and Invoking 
Action</a></li>
                         <li><a href="#php-runtime">PHP Runtime</a></li>
                         <li><a href="#php-additional-resources">Additional 
Resources</a></li>
                     </ul>
-                    <!--li class="collapsible-toggle"><a 
href="#swift">Swift</a></li>
-                    <ul class="collapse-content">
+                    <!--li class="index-menu-toggle"><a 
href="#swift">Swift</a></li>
+                    <ul class="index-menuitems">
                         <li><a href="#swift-actions">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>
diff --git a/downloads.html b/downloads.html
index c32ff6f..ee702c8 100644
--- a/downloads.html
+++ b/downloads.html
@@ -27,47 +27,95 @@
         <script type="text/javascript">
             
 function applyCollapsible() {
+  addListenersToIndex();
+  addListenersToSections();
+}
+
+function addListenersToIndex()
+{
+  var coll = document.getElementsByClassName("index-menu-toggle");
+  var i;
 
-    var coll = document.getElementsByClassName("collapsible-toggle");
-    var i;
+  // Apply exapandable (arrows) to all menuitems with a sibling
+  for (i = 0; i < coll.length; i++) {
+    var sibling = coll[i].nextElementSibling;
 
-    // Apply exapandable (arrows) to all menuitems with a sibling
-    for (i = 0; i < coll.length; i++) {
-      var sibling = coll[i].nextElementSibling;
+    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
+        sibling.style.padding = "0px 0px 0px 20px";
+    }
 
+    // Set "click" event listener on all menuitems
+    coll[i].addEventListener("click", function() {
+      var sibling = this.nextElementSibling;
+      // toggle menu open/close states
       if(sibling!==null){
-          coll[i].style.listStyleImage = 
"url('../images/elements/arrow-right-12px.png')";
-          // (top right bottom left)
-          sibling.style.padding = "0px 0px 0px 20px";
+        if (sibling.style.display === "block") {
+          this.style.listStyleImage = 
"url('../images/elements/arrow-right-12px.png')";
+          sibling.style.display = "none";
+        } else {
+          this.style.listStyleImage = 
"url('../images/elements/arrow-down-12px.png')";
+          sibling.style.display = "block";
+        }
       }
 
-      // Set "click" event listener on all menuitems
-      coll[i].addEventListener("click", function() {
-        var sibling = this.nextElementSibling;
-        // toggle menu open/close states
-        if(sibling!==null){
-          if (sibling.style.display === "block") {
-            this.style.listStyleImage = 
"url('../images/elements/arrow-right-12px.png')";
-            sibling.style.display = "none";
-          } else {
-            this.style.listStyleImage = 
"url('../images/elements/arrow-down-12px.png')";
-            sibling.style.display = "block";
-          }
-        }
+    });
+  }
+}
+
+function addListenersToSections()
+{
+  var coll = document.getElementsByClassName("section-toggle");
+  var i;
+
+  // Apply exapandable (arrows) to all menuitems with a sibling
+  for (i = 0; i < coll.length; i++) {
+    var sibling = coll[i].nextElementSibling;
 
-      });
+    if(sibling!==null){
+      sibling.setAttribute('data-display', sibling.style.display);
+      if(coll[i].classList.contains("section-toggle-start-open")){
+        coll[i].style.backgroundImage = 
"url('../images/elements/circle-minus.png')";
+      } else {
+        coll[i].style.backgroundImage = 
"url('../images/elements/circle-plus.png')";
+      }
     }
-}
 
-function openIndex() {
-          console.log("openIndex")
-  document.getElementById("index").style.display = "block";
-}
-function closeIndex() {
-            console.log("closeIndex")
-  document.getElementById("index").style.display = "none";
+    // Set "click" event listener on all menuitems
+    coll[i].addEventListener("click", function() {
+      var sibling = this.nextElementSibling;
+      // toggle menu open/close states
+      if(sibling!==null){
+        console.log("sibling.style.display: ["+sibling.style.display+"]");
+        if (sibling.style.display !== "none") {
+          console.log("collapsing");
+          sibling.style.display = "none";
+          this.style.backgroundImage = 
"url('../images/elements/circle-plus.png')";
+        } else {
+          console.log("expanding");
+          sibling.style.display = "block";
+          this.style.backgroundImage = 
"url('../images/elements/circle-minus.png')";
+        }
+      }
+
+    });
+  }
 }
 
+/*
+ *  Debug
+ */
+// function dumpCSSText(element){
+//   var s = '';
+//   var o = getComputedStyle(element);
+//   for(var i = 0; i < o.length; i++){
+//     s+= ">> " + o[i] + ':' + o.getPropertyValue(o[i])+';\n';
+//   }
+//   return s;
+// }
+
         </script>
     </head>
     <!-- Once all page elements are included, register event hooks -->
@@ -126,8 +174,8 @@ function closeIndex() {
             <li><a href="#versioning">Versioning</a></li>
 
             <!-- Downloads -->
-            <li class="collapsible-toggle"><a 
href="#releases">Releases</a></li>
-            <ul class="collapse-content">
+            <li class="index-menu-toggle"><a href="#releases">Releases</a></li>
+            <ul class="index-menuitems">
                 <li><a href="#verifying">Verifying</a></li>
                 <li><a href="#keys">Keys</a></li>
                 <li><a href="#versions">Versions</a></li>
@@ -164,6 +212,8 @@ function closeIndex() {
             <div class="content">
                 <a class="indexable" id="releases"></a>
                 <h3>Releases</h3>
+                <p>The Apache OpenWhisk project provides releases of source 
code, by component groupings, as TAR compressed archives files denoted by the 
<em>.tar.gz</em> extension.)
+                </p>
                 <a class="indexable" id="verifying"></a>
                 <h4>Verifying</h4>
                 <p>As an Apache project, all downloaded files are signed by a 
project Release Manager and can be verified following these instructions:</p>
@@ -177,9 +227,11 @@ function closeIndex() {
 
                 <a class="indexable" id="versions"></a>
                 <h4>Versions</h4>
-                <p>The following release versions are available:</p>
-                <h5>0.9.x-incubating (2018-07-17)</h5>
-                <div class="content">
+                <p>The following release versions are available.</p>
+                <p>Please click on the version name to see its downloadable 
components:</p>
+                <h5 class="section-toggle section-toggle-start-open 
">0.9.x-incubating (2018-07-17)</h5>
+                <div class="section-start-open">
+                  <div class="content">
                    <div class="flow-columns">
                       <div class="project-structure-repo 
theme-deeper-sea-green">
                         <h4>OpenWhisk</h4>
@@ -274,6 +326,7 @@ function closeIndex() {
                       </div>
                    </div>
                 </div>
+                </div>
             </div>
         </main>
 
diff --git a/events.html b/events.html
index 24ac9d3..0b758b3 100644
--- a/events.html
+++ b/events.html
@@ -27,47 +27,95 @@
         <script type="text/javascript">
             
 function applyCollapsible() {
+  addListenersToIndex();
+  addListenersToSections();
+}
+
+function addListenersToIndex()
+{
+  var coll = document.getElementsByClassName("index-menu-toggle");
+  var i;
 
-    var coll = document.getElementsByClassName("collapsible-toggle");
-    var i;
+  // Apply exapandable (arrows) to all menuitems with a sibling
+  for (i = 0; i < coll.length; i++) {
+    var sibling = coll[i].nextElementSibling;
 
-    // Apply exapandable (arrows) to all menuitems with a sibling
-    for (i = 0; i < coll.length; i++) {
-      var sibling = coll[i].nextElementSibling;
+    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
+        sibling.style.padding = "0px 0px 0px 20px";
+    }
 
+    // Set "click" event listener on all menuitems
+    coll[i].addEventListener("click", function() {
+      var sibling = this.nextElementSibling;
+      // toggle menu open/close states
       if(sibling!==null){
-          coll[i].style.listStyleImage = 
"url('../images/elements/arrow-right-12px.png')";
-          // (top right bottom left)
-          sibling.style.padding = "0px 0px 0px 20px";
+        if (sibling.style.display === "block") {
+          this.style.listStyleImage = 
"url('../images/elements/arrow-right-12px.png')";
+          sibling.style.display = "none";
+        } else {
+          this.style.listStyleImage = 
"url('../images/elements/arrow-down-12px.png')";
+          sibling.style.display = "block";
+        }
       }
 
-      // Set "click" event listener on all menuitems
-      coll[i].addEventListener("click", function() {
-        var sibling = this.nextElementSibling;
-        // toggle menu open/close states
-        if(sibling!==null){
-          if (sibling.style.display === "block") {
-            this.style.listStyleImage = 
"url('../images/elements/arrow-right-12px.png')";
-            sibling.style.display = "none";
-          } else {
-            this.style.listStyleImage = 
"url('../images/elements/arrow-down-12px.png')";
-            sibling.style.display = "block";
-          }
-        }
+    });
+  }
+}
 
-      });
+function addListenersToSections()
+{
+  var coll = document.getElementsByClassName("section-toggle");
+  var i;
+
+  // Apply exapandable (arrows) to all menuitems with a sibling
+  for (i = 0; i < coll.length; i++) {
+    var sibling = coll[i].nextElementSibling;
+
+    if(sibling!==null){
+      sibling.setAttribute('data-display', sibling.style.display);
+      if(coll[i].classList.contains("section-toggle-start-open")){
+        coll[i].style.backgroundImage = 
"url('../images/elements/circle-minus.png')";
+      } else {
+        coll[i].style.backgroundImage = 
"url('../images/elements/circle-plus.png')";
+      }
     }
-}
 
-function openIndex() {
-          console.log("openIndex")
-  document.getElementById("index").style.display = "block";
-}
-function closeIndex() {
-            console.log("closeIndex")
-  document.getElementById("index").style.display = "none";
+    // Set "click" event listener on all menuitems
+    coll[i].addEventListener("click", function() {
+      var sibling = this.nextElementSibling;
+      // toggle menu open/close states
+      if(sibling!==null){
+        console.log("sibling.style.display: ["+sibling.style.display+"]");
+        if (sibling.style.display !== "none") {
+          console.log("collapsing");
+          sibling.style.display = "none";
+          this.style.backgroundImage = 
"url('../images/elements/circle-plus.png')";
+        } else {
+          console.log("expanding");
+          sibling.style.display = "block";
+          this.style.backgroundImage = 
"url('../images/elements/circle-minus.png')";
+        }
+      }
+
+    });
+  }
 }
 
+/*
+ *  Debug
+ */
+// function dumpCSSText(element){
+//   var s = '';
+//   var o = getComputedStyle(element);
+//   for(var i = 0; i < o.length; i++){
+//     s+= ">> " + o[i] + ':' + o.getPropertyValue(o[i])+';\n';
+//   }
+//   return s;
+// }
+
         </script>
     </head>
     <!-- Once all page elements are included, register event hooks -->
diff --git a/feed.xml b/feed.xml
index fb3d933..798df8b 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-09-10T17:43:43+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-09-12T00:54:24+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/images/elements/circle-minus.png b/images/elements/circle-minus.png
new file mode 100644
index 0000000..50ad590
Binary files /dev/null and b/images/elements/circle-minus.png differ
diff --git a/images/elements/circle-plus.png b/images/elements/circle-plus.png
new file mode 100644
index 0000000..e1e83dd
Binary files /dev/null and b/images/elements/circle-plus.png differ
diff --git a/images/elements/expand-collapse-circle.psd 
b/images/elements/expand-collapse-circle.psd
new file mode 100644
index 0000000..7fd7667
Binary files /dev/null and b/images/elements/expand-collapse-circle.psd differ
diff --git a/index.html b/index.html
index 2e12fac..c152e5e 100644
--- a/index.html
+++ b/index.html
@@ -27,47 +27,95 @@
         <script type="text/javascript">
             
 function applyCollapsible() {
+  addListenersToIndex();
+  addListenersToSections();
+}
+
+function addListenersToIndex()
+{
+  var coll = document.getElementsByClassName("index-menu-toggle");
+  var i;
 
-    var coll = document.getElementsByClassName("collapsible-toggle");
-    var i;
+  // Apply exapandable (arrows) to all menuitems with a sibling
+  for (i = 0; i < coll.length; i++) {
+    var sibling = coll[i].nextElementSibling;
 
-    // Apply exapandable (arrows) to all menuitems with a sibling
-    for (i = 0; i < coll.length; i++) {
-      var sibling = coll[i].nextElementSibling;
+    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
+        sibling.style.padding = "0px 0px 0px 20px";
+    }
 
+    // Set "click" event listener on all menuitems
+    coll[i].addEventListener("click", function() {
+      var sibling = this.nextElementSibling;
+      // toggle menu open/close states
       if(sibling!==null){
-          coll[i].style.listStyleImage = 
"url('../images/elements/arrow-right-12px.png')";
-          // (top right bottom left)
-          sibling.style.padding = "0px 0px 0px 20px";
+        if (sibling.style.display === "block") {
+          this.style.listStyleImage = 
"url('../images/elements/arrow-right-12px.png')";
+          sibling.style.display = "none";
+        } else {
+          this.style.listStyleImage = 
"url('../images/elements/arrow-down-12px.png')";
+          sibling.style.display = "block";
+        }
       }
 
-      // Set "click" event listener on all menuitems
-      coll[i].addEventListener("click", function() {
-        var sibling = this.nextElementSibling;
-        // toggle menu open/close states
-        if(sibling!==null){
-          if (sibling.style.display === "block") {
-            this.style.listStyleImage = 
"url('../images/elements/arrow-right-12px.png')";
-            sibling.style.display = "none";
-          } else {
-            this.style.listStyleImage = 
"url('../images/elements/arrow-down-12px.png')";
-            sibling.style.display = "block";
-          }
-        }
+    });
+  }
+}
+
+function addListenersToSections()
+{
+  var coll = document.getElementsByClassName("section-toggle");
+  var i;
 
-      });
+  // Apply exapandable (arrows) to all menuitems with a sibling
+  for (i = 0; i < coll.length; i++) {
+    var sibling = coll[i].nextElementSibling;
+
+    if(sibling!==null){
+      sibling.setAttribute('data-display', sibling.style.display);
+      if(coll[i].classList.contains("section-toggle-start-open")){
+        coll[i].style.backgroundImage = 
"url('../images/elements/circle-minus.png')";
+      } else {
+        coll[i].style.backgroundImage = 
"url('../images/elements/circle-plus.png')";
+      }
     }
-}
 
-function openIndex() {
-          console.log("openIndex")
-  document.getElementById("index").style.display = "block";
-}
-function closeIndex() {
-            console.log("closeIndex")
-  document.getElementById("index").style.display = "none";
+    // Set "click" event listener on all menuitems
+    coll[i].addEventListener("click", function() {
+      var sibling = this.nextElementSibling;
+      // toggle menu open/close states
+      if(sibling!==null){
+        console.log("sibling.style.display: ["+sibling.style.display+"]");
+        if (sibling.style.display !== "none") {
+          console.log("collapsing");
+          sibling.style.display = "none";
+          this.style.backgroundImage = 
"url('../images/elements/circle-plus.png')";
+        } else {
+          console.log("expanding");
+          sibling.style.display = "block";
+          this.style.backgroundImage = 
"url('../images/elements/circle-minus.png')";
+        }
+      }
+
+    });
+  }
 }
 
+/*
+ *  Debug
+ */
+// function dumpCSSText(element){
+//   var s = '';
+//   var o = getComputedStyle(element);
+//   for(var i = 0; i < o.length; i++){
+//     s+= ">> " + o[i] + ':' + o.getPropertyValue(o[i])+';\n';
+//   }
+//   return s;
+// }
+
         </script>
     </head>
     <!-- Once all page elements are included, register event hooks -->
diff --git a/slack.html b/slack.html
index fa045cd..aa71d8a 100644
--- a/slack.html
+++ b/slack.html
@@ -27,47 +27,95 @@
         <script type="text/javascript">
             
 function applyCollapsible() {
+  addListenersToIndex();
+  addListenersToSections();
+}
+
+function addListenersToIndex()
+{
+  var coll = document.getElementsByClassName("index-menu-toggle");
+  var i;
 
-    var coll = document.getElementsByClassName("collapsible-toggle");
-    var i;
+  // Apply exapandable (arrows) to all menuitems with a sibling
+  for (i = 0; i < coll.length; i++) {
+    var sibling = coll[i].nextElementSibling;
 
-    // Apply exapandable (arrows) to all menuitems with a sibling
-    for (i = 0; i < coll.length; i++) {
-      var sibling = coll[i].nextElementSibling;
+    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
+        sibling.style.padding = "0px 0px 0px 20px";
+    }
 
+    // Set "click" event listener on all menuitems
+    coll[i].addEventListener("click", function() {
+      var sibling = this.nextElementSibling;
+      // toggle menu open/close states
       if(sibling!==null){
-          coll[i].style.listStyleImage = 
"url('../images/elements/arrow-right-12px.png')";
-          // (top right bottom left)
-          sibling.style.padding = "0px 0px 0px 20px";
+        if (sibling.style.display === "block") {
+          this.style.listStyleImage = 
"url('../images/elements/arrow-right-12px.png')";
+          sibling.style.display = "none";
+        } else {
+          this.style.listStyleImage = 
"url('../images/elements/arrow-down-12px.png')";
+          sibling.style.display = "block";
+        }
       }
 
-      // Set "click" event listener on all menuitems
-      coll[i].addEventListener("click", function() {
-        var sibling = this.nextElementSibling;
-        // toggle menu open/close states
-        if(sibling!==null){
-          if (sibling.style.display === "block") {
-            this.style.listStyleImage = 
"url('../images/elements/arrow-right-12px.png')";
-            sibling.style.display = "none";
-          } else {
-            this.style.listStyleImage = 
"url('../images/elements/arrow-down-12px.png')";
-            sibling.style.display = "block";
-          }
-        }
+    });
+  }
+}
+
+function addListenersToSections()
+{
+  var coll = document.getElementsByClassName("section-toggle");
+  var i;
+
+  // Apply exapandable (arrows) to all menuitems with a sibling
+  for (i = 0; i < coll.length; i++) {
+    var sibling = coll[i].nextElementSibling;
 
-      });
+    if(sibling!==null){
+      sibling.setAttribute('data-display', sibling.style.display);
+      if(coll[i].classList.contains("section-toggle-start-open")){
+        coll[i].style.backgroundImage = 
"url('../images/elements/circle-minus.png')";
+      } else {
+        coll[i].style.backgroundImage = 
"url('../images/elements/circle-plus.png')";
+      }
     }
-}
 
-function openIndex() {
-          console.log("openIndex")
-  document.getElementById("index").style.display = "block";
-}
-function closeIndex() {
-            console.log("closeIndex")
-  document.getElementById("index").style.display = "none";
+    // Set "click" event listener on all menuitems
+    coll[i].addEventListener("click", function() {
+      var sibling = this.nextElementSibling;
+      // toggle menu open/close states
+      if(sibling!==null){
+        console.log("sibling.style.display: ["+sibling.style.display+"]");
+        if (sibling.style.display !== "none") {
+          console.log("collapsing");
+          sibling.style.display = "none";
+          this.style.backgroundImage = 
"url('../images/elements/circle-plus.png')";
+        } else {
+          console.log("expanding");
+          sibling.style.display = "block";
+          this.style.backgroundImage = 
"url('../images/elements/circle-minus.png')";
+        }
+      }
+
+    });
+  }
 }
 
+/*
+ *  Debug
+ */
+// function dumpCSSText(element){
+//   var s = '';
+//   var o = getComputedStyle(element);
+//   for(var i = 0; i < o.length; i++){
+//     s+= ">> " + o[i] + ':' + o.getPropertyValue(o[i])+';\n';
+//   }
+//   return s;
+// }
+
         </script>
     </head>
     <!-- Once all page elements are included, register event hooks -->

Reply via email to