🎨 Beautiful images of your code — from right inside your terminal.
Description
carbon.now.sh by @dawn_labs is a wonderful tool that lets you generate beautiful images of your source code through a great UI, letting you customize aspects like fonts, themes, window controls and much more.
carbon-now-cli
gives you the full power of Carbon — right at your fingertips, inside the terminal.
Generate beautiful images from a source file, or sections of a source file, by running a single command.
Want to customize everything before generating the image? Run it in
Features
🖼 Downloads the real, high-quality image (no DOM screenshots)✨ Detects file type automatically🗂 Supports all file extensions supported by carbon.now.sh and more🖱 Allows selective highlighting via--start
and--end
⚡️ Interactive mode via--interactive
🐶 Displays image directly in supported terminals⏱ Reports each step and therefore shortens the wait👀 Saves to given location or only opens in browser for manual finish🌈 Supports saving as.png
or.svg
— just like Carbon📏 Supports2x
,4x
or1x
resolutions — just like Carbon✅ Tested⛏ Maintained
Installation
npm
$ npm i -g carbon-now-cli
yarn
$ yarn global add carbon-now-cli
npx
$ npx carbon-now-cli <file>
Requirements
carbon-now-cli
requires Node.js >=8
.
Usage
$ carbon-now --help
Beautiful images of your code — from right inside your terminal.
Usage
$ carbon-now <file>
Options
-s, --start Starting line of <file>
-e, --end Ending line of <file>
-i, --interactive Interactive mode
-l, --location Image save location, default: cwd
-o, --open Open in browser instead of saving
Examples
Assuming you have a file unfold.js
with this content
// Example from https://carbon.now.sh/
const unfold = (f, seed) => {
const go = (f, seed, acc) => {
const res = f(seed)
return res ? go(f, res[1], acc.concat([res[0]])) : acc
}
return go(f, seed, [])
};
and you’d like to make a beautiful image out of it. You could approach this in several ways.
Basic
$ carbon-now unfold.js
Takes the entire source of unfold.js
, uses Carbon’s default settings and saves as .png
into your cwd
.
Result:
Fully customized
$ carbon-now unfold.js -i
Launches an interactive mode, prompting questions, allowing you to customize every aspect of Carbon, like syntax theme, font-family, padding, drop-shadow, etc.
Given this input…
…the result will look like so
If you’re not sure what each question, e.g. “Make squared image?”, refers to, just confirm by hitting Enter — they will default to sensible, nice-looking things.
If needed, you can always check the default settings.
Selective
$ carbon-now unfold.js -s 3 -e 6
Reads and creates image based only of lines 3
to 6
, instead of the entire file. Will throw an error if -s
> -e
.
Of course selective mode can be combined with interactive mode, just with like any other option.
Result (without interactive mode):
Full Example
For demonstration purposes, here is an example using all options.
$ carbon-now unfold.js -s 3 -e 6 -l ~/Desktop -i
This saves a beautiful image of lines 3
to 6
to ~/Desktop
, after accepting custom wishes via interactive mode.
If you’re not sure about how the image will turn out you can always use -o
or --open
.
$ carbon-now unfold.js -s 3 -e 6 -i -o
This will open the image in the browser for final touches, instead of saving it immediately.
License
MIT © Miloš Sutanovac