0.5.4 • Published 4 years ago

@darvesh/portray v0.5.4

Weekly downloads
1
License
MIT
Repository
github
Last release
4 years ago

Generate beautiful image from your source code :night_with_stars:

Dependency

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 the above mentioned website, install it, and add it to PATH.

Install

$ npm install @darvesh/portray

Usage

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)

Output

Options

fontSize?: number;

Default: 25 (in px)

fontPath?: string;

Default: FiraCode Regular\ Supported Font Format: ttf, woff, and woff2\ Condition: Provide absolute path of font file. Use path.resolve(__dirname, "/path/to/font")

stream?: true

Default: false\ true to return Stream.Readable instead of Buffer

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

Credits

Thanks to Muthu, Thomas and Ceda