src2img
TypeScript icon, indicating that this package has built-in type declarations

2.0.1 • Public • Published

src2img

Converts source code to high quality images.

Install

$ npm i src2img

Usage

import { promises as fs } from 'fs'
import src2img from 'src2img'
import { join } from 'path'

const src = 'path/to/sources'
const out = 'path/to/out'

const names = await fs.readdir(src)
const srcs = Promise.all(
  names.map(async name => ({
    name,
    src: await fs.readFile(join(src, name), `utf8`)
  }))
)

const images = await src2img({
  fontSize: 20, // Font size and unit control the size and quality of the image
  fontSizeUnit: 'pt',
  padding: 3,
  paddingUnit: 'vw', // Using 'px' does not scale with font size
  type: 'png', // png or jpeg
  src: srcs.map(({ src }) => [
    src,
    `javascript` // https://prismjs.com/index.html#languages-list
    // See https://www.npmjs.com/package/filename2prism for getting alias from filename
  ])
})

await Promise.all(
  images.map((image, i) =>
    fs.writeFile(
      join(out, `${srcs[i].name.replace(/\.[^.]+$/g, '')}.png`),
      image
    )
  )
)

Look at the CLI package if you'd like to use this from the command line.

Some rendered code:

example

Related

Contributing

Stars are always welcome!

For bugs and feature requests, please create an issue.

License

MIT © Tomer Aberbach

Package Sidebar

Install

npm i src2img

Weekly Downloads

3

Version

2.0.1

License

MIT

Unpacked Size

11.1 kB

Total Files

5

Last publish

Collaborators

  • tomeraberbach