You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by bd...@apache.org on 2019/07/25 16:06:12 UTC

[sling-whiteboard] branch master updated (538f7b3 -> bc456a2)

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

bdelacretaz pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/sling-whiteboard.git.


    from 538f7b3  Openwhisk action selection based on annotations
     new 39dfeed  Basic dynamic Openwhisk action dispatching works
     new bc456a2  Style tweaks for obvious demo

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 serverless-microsling/lib/openwhisk-renderer.js      | 20 +++++++++++++++++---
 serverless-microsling/lib/render.js                  | 14 +++++++++-----
 .../rendering-actions/somedoc-html.js                | 11 +++++++++--
 3 files changed, 35 insertions(+), 10 deletions(-)


[sling-whiteboard] 02/02: Style tweaks for obvious demo

Posted by bd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

bdelacretaz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-whiteboard.git

commit bc456a2e05d440fcfab3ec5f39916e97f214e365
Author: Bertrand Delacretaz <bd...@apache.org>
AuthorDate: Thu Jul 25 18:05:47 2019 +0200

    Style tweaks for obvious demo
---
 serverless-microsling/rendering-actions/somedoc-html.js | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/serverless-microsling/rendering-actions/somedoc-html.js b/serverless-microsling/rendering-actions/somedoc-html.js
index 831e00f..d3c52a4 100644
--- a/serverless-microsling/rendering-actions/somedoc-html.js
+++ b/serverless-microsling/rendering-actions/somedoc-html.js
@@ -21,10 +21,18 @@ function main (params) {
   const markup = `<html>
   <head>
   <title>${resource.title}</title>
+  <style type="text/css">
+  body {
+    background-color:  #fcf3cf;
+  }
+  h1 {
+    color: blue;
+  }
+  </style>
   </head>
   <body>
   <h1>
-      ${resource.title}
+      ${resource.title}, with a custom rendering!
   </h1>
   <div>${resource.body}</div>
   <div><em>This is the somedoc-html rendering</em></div>


[sling-whiteboard] 01/02: Basic dynamic Openwhisk action dispatching works

Posted by bd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

bdelacretaz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-whiteboard.git

commit 39dfeed111142303676bbd34054fcc5152779cf8
Author: Bertrand Delacretaz <bd...@apache.org>
AuthorDate: Thu Jul 25 17:57:41 2019 +0200

    Basic dynamic Openwhisk action dispatching works
---
 serverless-microsling/lib/openwhisk-renderer.js      | 20 +++++++++++++++++---
 serverless-microsling/lib/render.js                  | 14 +++++++++-----
 .../rendering-actions/somedoc-html.js                |  1 -
 3 files changed, 26 insertions(+), 9 deletions(-)

diff --git a/serverless-microsling/lib/openwhisk-renderer.js b/serverless-microsling/lib/openwhisk-renderer.js
index e5544f7..21ba43d 100644
--- a/serverless-microsling/lib/openwhisk-renderer.js
+++ b/serverless-microsling/lib/openwhisk-renderer.js
@@ -39,19 +39,33 @@ const getAction = async (resourceType, extension) => {
   })
 };
 
+const render = (resource, action) => {
+  const name = action.name;
+  const blocking = true, result = true
+  const params = {
+    resource: resource
+  }
+  var ow = openwhisk();
+  return ow.actions.invoke({name, blocking, result, params});
+};
+
  const renderer = {
   contentType: 'text/html',
   appliesTo : async (resourceType, extension) => { 
     return getAction(resourceType, extension)
   },
   render : (resource, action) => {
-    return `TODO: render using ${action ? action.name : null}`;
+    return render(resource, action);
   },
 }
 
 function main () {
-  return new Promise(resolve => {
-    resolve(getAction('microsling/somedoc', 'html'));
+  return new Promise(async resolve => {
+    const resource = {
+      title: 'cmdline title test',
+      body: 'cmdline body test',
+    }
+    resolve(render(resource, getAction('microsling/somedoc', 'html')));
   });
 }
 
diff --git a/serverless-microsling/lib/render.js b/serverless-microsling/lib/render.js
index b78b3c5..eee7098 100644
--- a/serverless-microsling/lib/render.js
+++ b/serverless-microsling/lib/render.js
@@ -26,7 +26,7 @@ const defaultTextRenderer = {
     return extension == 'txt';
   },
   render : (resource) => {
-    return `${resource.title}\n${resource.body}\n`;
+    return { output: `${resource.title}\n${resource.body}\n` };
   },
 }
 
@@ -36,7 +36,7 @@ const defaultJsonRenderer = {
     return extension == 'json';
   },
   render : (resource) => {
-    return JSON.stringify(resource, 2, null);
+    return { output: JSON.stringify(resource, 2, null) };
   },
 }
 
@@ -46,7 +46,7 @@ const defaultHtmlRenderer = {
     return extension == 'html';
   },
   render : (resource) => {
-    return `
+    return { output: `
     <html>
     <head>
     <title>${resource.title}</title>
@@ -58,7 +58,7 @@ const defaultHtmlRenderer = {
     <div>${resource.body}</div>
     </body>
     </html>
-  `;
+  `};
   },
 }
 
@@ -104,7 +104,11 @@ async function render(context) {
   if(!rendererInfo) {
     throw Error(`Renderer not found for ${resourceType} extension ${extension}`);
   }
-  context.response.body = rendererInfo.renderer.render(resource, rendererInfo.applyContext);
+  const rendered = await rendererInfo.renderer.render(resource, rendererInfo.applyContext);
+  if(!rendered.output) {
+    throw Error('Renderer generated no output');
+  }
+  context.response.body = rendered.output;
   context.response.headers = {
     'Content-Type': rendererInfo.renderer.contentType
   };
diff --git a/serverless-microsling/rendering-actions/somedoc-html.js b/serverless-microsling/rendering-actions/somedoc-html.js
index ff29573..831e00f 100644
--- a/serverless-microsling/rendering-actions/somedoc-html.js
+++ b/serverless-microsling/rendering-actions/somedoc-html.js
@@ -21,7 +21,6 @@ function main (params) {
   const markup = `<html>
   <head>
   <title>${resource.title}</title>
-  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/default.min.css"/>
   </head>
   <body>
   <h1>