diff --git a/lovelace-kindle-screensaver/config.json b/lovelace-kindle-screensaver/config.json index 6eedd61..d264b8a 100644 --- a/lovelace-kindle-screensaver/config.json +++ b/lovelace-kindle-screensaver/config.json @@ -1,6 +1,6 @@ { "name": "Lovelace dashboard renderer", - "version": "1.1.8", + "version": "1.1.9", "slug": "lovelace-dashboard-renderer", "description": "Renders any lovelace dashboard to image and hosts it", "url": "https://github.com/mkocus/hass-lovelace-kindle-screensaver/tree/master/lovelace-kindle-screensaver", diff --git a/lovelace-kindle-screensaver/rootfs/app/config.js b/lovelace-kindle-screensaver/rootfs/app/config.js index 357ae87..89526b3 100644 --- a/lovelace-kindle-screensaver/rootfs/app/config.js +++ b/lovelace-kindle-screensaver/rootfs/app/config.js @@ -43,6 +43,7 @@ module.exports = { pages: getPagesConfig(), port: process.env.PORT || 5000, renderingTimeout: process.env.RENDERING_TIMEOUT || 10000, + imageFormat: process.env.IMAGE_FORMAT || "png", language: process.env.LANGUAGE || "en", debug: process.env.DEBUG === "true", ignoreCertificateErrors: diff --git a/lovelace-kindle-screensaver/rootfs/app/index.js b/lovelace-kindle-screensaver/rootfs/app/index.js index e1b20a2..5f97acd 100644 --- a/lovelace-kindle-screensaver/rootfs/app/index.js +++ b/lovelace-kindle-screensaver/rootfs/app/index.js @@ -110,7 +110,7 @@ const batteryStore = {}; const lastModifiedTime = new Date(stat.mtime).toUTCString(); response.writeHead(200, { - "Content-Type": "image/png", + "Content-Type": `image/${config.imageFormat}`, "Content-Length": Buffer.byteLength(data), "Last-Modified": lastModifiedTime }); @@ -170,7 +170,7 @@ async function renderAndConvertAsync(browser) { console.log(`Rendering ${url} to image...`); await renderUrlToImageAsync(browser, pageConfig, url, tempPath); - console.log(`Converting rendered screenshot of ${url} to requested parameters png...`); + console.log(`Converting rendered screenshot of ${url} to requested parameters ${config.imageFormat}...`); await convertImageToKindleCompatiblePngAsync( pageConfig, tempPath, @@ -310,6 +310,7 @@ function convertImageToKindleCompatiblePngAsync( }) // .dither(pageConfig.dither) .rotate("white", pageConfig.rotation) + .setFormat(config.imageFormat) .type(pageConfig.colorMode) .bitdepth(pageConfig.grayscaleDepth) .quality(100) diff --git a/lovelace-kindle-screensaver/rootfs/app/package-lock.json b/lovelace-kindle-screensaver/rootfs/app/package-lock.json index a57a512..2e8e80b 100644 --- a/lovelace-kindle-screensaver/rootfs/app/package-lock.json +++ b/lovelace-kindle-screensaver/rootfs/app/package-lock.json @@ -1,6 +1,6 @@ { "name": "hass-lovelace-kindle-screensaver", - "version": "1.1.8", + "version": "1.1.9", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/lovelace-kindle-screensaver/rootfs/app/package.json b/lovelace-kindle-screensaver/rootfs/app/package.json index 516054d..3788863 100644 --- a/lovelace-kindle-screensaver/rootfs/app/package.json +++ b/lovelace-kindle-screensaver/rootfs/app/package.json @@ -1,6 +1,6 @@ { "name": "hass-lovelace-kindle-screensaver", - "version": "1.1.8", + "version": "1.1.9", "description": "Renders any lovelace dashboard to image and hosts it", "main": "index.js", "scripts": { diff --git a/lovelace-kindle-screensaver/rootfs/etc/services.d/node/run b/lovelace-kindle-screensaver/rootfs/etc/services.d/node/run index 4b61b17..d04ede7 100644 --- a/lovelace-kindle-screensaver/rootfs/etc/services.d/node/run +++ b/lovelace-kindle-screensaver/rootfs/etc/services.d/node/run @@ -13,6 +13,7 @@ export RENDERING_TIMEOUT=$(bashio::config 'rendering_timeout') export RENDERING_DELAY=$(bashio::config 'rendering_delay') export RENDERING_SCREEN_HEIGHT=$(bashio::config 'rendering_screen_height') export RENDERING_SCREEN_WIDTH=$(bashio::config 'rendering_screen_width') +export IMAGE_FORMAT=$(bashio::config 'image_format') export GRAYSCALE_DEPTH=$(bashio::config 'grayscale_depth') export ROTATION=$(bashio::config 'rotation') export SCALING=$(bashio::config 'scaling')