rayso-api

Unofficial API for ray.so that turns your code into beautiful images.

Usage no npm install needed!

<script type="module">
  import raysoApi from 'https://cdn.skypack.dev/rayso-api';
</script>

README

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

const RaySo = require('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);
    });

👮‍♂️ Attention! The API will not work if you don't have any kind of Chrome browser (Chromium). So, make sure to set your full local path to chrome.exe in broswerPath parameter (or any other execution file of the browser based on Chromium).

const RaySo = require('rayso-api');
const raySo = new RaySo({
    // The default path in the API is C:\Program Files\Google\Chrome\Application\chrome.exe
    // If your browser located somewhere else, specify it in browserPath parameter.
    // If it's the same as default one, just don't pass this parameter.
    browserPath: '...your path',
});

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.
browserPath "C:\Program Files\ Google\Chrome\Application \chrome.exe" String Local path to the browser (Chrome). You can leave it, if it's your home PC and you have Chrome installed.
debug false Boolean If enabled, it will show messages in the console during code execution.

Examples

Default output

const RaySo = require('rayso-api');
const raySo = new RaySo();

output

Custom parameters

const RaySo = require('rayso-api');
const raySo = new RaySo({
    title: 'Custom Title',
    theme: 'candy',
    padding: 32,
    language: 'javascript',
    localPreview: true,
});

output

Output without background

const RaySo = require('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

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

candy

Crimson

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

crimson

Falcon

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

falcon

Meadow

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

meadow

Midnight

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

midnight

Raindrop

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

raindrop

Sunset

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

sunset

Credits

  • The source is ray.so website.