UNPKG

@browserless/screenshot

Version:

Take a clean screenshot of any website

23 lines (15 loc) 665 B
'use strict' const NullProtoObj = require('null-prototype-object') const { readFile } = require('fs/promises') const isHttpUrl = require('is-url-http') const path = require('path') const CACHE = new NullProtoObj() const GET_THEME_PATH = () => require('prism-themes').themesDirectory const THEME_PATH = () => CACHE.root || (CACHE.root = GET_THEME_PATH()) module.exports = async themeId => { if (isHttpUrl(themeId)) return `<link rel="stylesheet" type="text/css" href="${themeId}">` const stylesheet = CACHE[themeId] || (CACHE[themeId] = await readFile(path.resolve(THEME_PATH(), `prism-${themeId}.css`))) return `<style>${stylesheet}</style>` }