Generate beautiful image from your source code 🌃
You need to have wkhtmltopdf installed on your system to use this package.
Download it from here https://wkhtmltopdf.org/downloads.html#stable or
$ apt install wkhtmltopdf #debian #ubuntu #mint
$ pacman -S wkhtmltopdf #archlinux
$ dnf install wkhtmltopdf #fedora, centos, opensuse
If you are on windows, download the binary from aforementioned website, install it, and add it to PATH.
$ npm install @darvesh/portray
import { generate } from "@darvesh/portray";
generate(code)
.then(buffer => {
if(buffer instanceof Buffer)
return fs.promises.writeFile("./image.jpeg", buffer);
})
.then(() => console.log("Image saved"))
.catch(console.error)
import { generate } from "@darvesh/portray";
import { Readable } from "stream";
const options = {
borderColor: "#90FE13",
fontSize: 18,
format: "png",
theme: "nord",
stream: true,
windowControl: 1
}
generate(code, options)
.then(stream => {
if(stream instanceof Readable){
const image = fs.createWriteStream("./image.png");
stream.pipe(image);
}
})
.catch(console.error)
fontSize?: number;
Default: 25 (in px)
fontPath?: string;
Default: FiraCode Regular
Supported Font Format:ttf
,woff
, andwoff2
Condition: Provide absolute path of font file. Usepath.resolve(__dirname, "/path/to/font")
stream?: true
Default: false
true
to returnStream.Readable
instead ofBuffer
borderColor?: string
Default:
"#ABB8C3"
Example:"yellow"
,"#000000"
borderSize?: number
Default:
25
(in px)
language?: string
Example:
"javascript"
,"rust"
theme?: ThemesType
Default:
"dracula"
Refer: ThemesType
windowControl?: 0 | 1 | 2 | 3
Default: 1
0 if you don't want windowControl