/rayso-api

🎨 Ray.so API for JavaScript (Node.js). Turn your code into beautiful images.

Primary LanguageJavaScriptMIT LicenseMIT

Ray.so API

version downloads author on telegram

logotype

This is unofficial NodeJs (JavaScript) API for ray.so that turns your code into beautiful images. Choose from a range of syntax colors, hide or show the background, and toggle between a dark and light window.

Navigation

Installing

$ npm i rayso-api

Usage

import RaySo from 'rayso-api'
const raySo = new RaySo({
    // parameters, if you want to customize the output
    // you'll find detailed info about parameters below
})

raySo
    .cook(`console.log('Hello, World!');`)
    .then(response => {
        // response is image buffer
    })
    .catch(err => {
        console.error(err)
    })
import RaySo from 'rayso-api'
const raySo = new RaySo()

Parameters

Parameter Default value Type Description
title "Untitled-1" String The title will be displayed on top of the code box.
theme "breeze" String There are several options of how your box will look like. Available themes: breeze, candy, crimson, falcon, meadow, midnight, raindrop, sunset
background true Boolean If disabled, it will create an image of code box only, without background.
darkMode true Boolean If disabled, it will change your theme to its light version.
padding 32 String or Number Distance between borders and code box. Available values: 16, 32, 64 and 128.
language "auto" String You better leave it auto :/ However, you can try to pass some language name and if it worked, good for you!
localPreview false Boolean If enabled, it will create example.png image file of the output in the current directory.
localPreviewPath current directory String Path to create example files. MacOS, Linux and Windows paths supported.
debug false Boolean If enabled, it will show messages in the console during code execution.

Examples

Default output

import RaySo from 'rayso-api'
const raySo = new RaySo()

output

Custom parameters

import RaySo, {
    CardTheme,
    CardPadding,
    CardProgrammingLanguage,
} from 'rayso-api'
const raySo = new RaySo({
    title: 'Custom Title',
    theme: CardTheme.CANDY,
    padding: CardPadding.md,
    language: CardProgrammingLanguage.JS,
    debug: true,
    localPreview: true,
    localPreviewPath: '/Users/s0ftik3/rayso_screenshots',
})

output

Output without background

import RaySo from 'rayso-api'
const raySo = new RaySo({ background: false })

output

Themes

These are all the available themes, so far. As soon Ray.So has a new theme, it will appear here. Default theme breeze is not listed here, you saw it in the first picture of this README.

Candy

import RaySo from 'rayso-api'
const raySo = new RaySo({ theme: 'candy' })

candy

Crimson

import RaySo from 'rayso-api'
const raySo = new RaySo({ theme: 'crimson' })

crimson

Falcon

import RaySo from 'rayso-api'
const raySo = new RaySo({ theme: 'falcon' })

falcon

Meadow

import RaySo from 'rayso-api'
const raySo = new RaySo({ theme: 'meadow' })

meadow

Midnight

import RaySo from 'rayso-api'
const raySo = new RaySo({ theme: 'midnight' })

midnight

Raindrop

import RaySo from 'rayso-api'
const raySo = new RaySo({ theme: 'raindrop' })

raindrop

Sunset

import RaySo from 'rayso-api'
const raySo = new RaySo({ theme: 'sunset' })

sunset

Credits

  • The source is ray.so website.