From 6b45bc13bf8f983480b3b49c778e6bdf19f5687e Mon Sep 17 00:00:00 2001 From: Nicholas Jitkoff Date: Fri, 10 Feb 2023 07:14:40 -0700 Subject: [PATCH] Add inline svg metadata --- functions/rasterize.js | 18 ++++++++++++++++++ package.json | 3 ++- 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 functions/rasterize.js diff --git a/functions/rasterize.js b/functions/rasterize.js new file mode 100644 index 0000000..7f44bad --- /dev/null +++ b/functions/rasterize.js @@ -0,0 +1,18 @@ +const sharp = require("sharp") + + exports.handler = async function (event, context) { + console.log("event", event, context, event.rawQuery); + let data = event.rawQuery.replace(/\=/g,'') + let svg = atob(data) || decodeURIComponent(event.rawQuery); + if (!svg.startsWith("${svg}` + console.log("svg", svg) + const img = sharp(Buffer.from(svg)) + .resize(1200) + const jpeg = img.jpeg().toBuffer(); + return { + statusCode: 200, + headers: {"content-type": "image/jpeg"}, + isBase64Encoded: true, + body: (await jpeg).toString('base64') + }; + }; \ No newline at end of file diff --git a/package.json b/package.json index 130fec3..a08e6da 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,7 @@ { "dependencies": { - "brotli-wasm": "^1.1.0" + "brotli-wasm": "^1.1.0", + "sharp": "^0.31.3" }, "devDependencies": { "netlify-cli": "^11.5.1"