Cross-platform CLI GIF maker based on JS+Web.
How to use
$ clif out.gif
exit to finish and save the recording.
- Easy to install:
npm install -g clif.
- Works on OSX and Linux.
- Small GIFs.
- High quality (anti-aliased fonts).
- Rendered with CSS/JS, customizable.
- Realtime parallel rendering.
- Frame aggregation and customizable FPS.
- Support for titles Terminal.app-style.
How it works
clif builds mainly on four projects:
child_pty is used to spawn a pseudo terminal from
which we can capture the entirety of input and output.
Each frame that's captured is asynchronously sent to
phantomjs headless browser to render using
The GIF is composited with
omggif and finally written
out to the filesystem.
Usage: clif [options] <outfile> Options: -h, --help output usage information -V, --version output the version number -c, --cols <cols> Cols of the term  -r, --rows <rows> Rows of the term  -s, --shell <shell> Shell to use [/bin/bash] -f, --fps <fps> Frames per second  -q, --quality <q> Frame quality 1-30 (1 = best|slowest) 
phantomwith a terminal rendered on top of
node-canvasor low-level graphic APIs. terminal.js seems like a good candidate to add a
- Should work on Windows with some minor tweaks.
- There's an issue with Node 0.12 and IO.js on Mac
where stdout sometimes buffers for no reason
- Inspired by KeyboardFire's mkcast.
- Borrows GIF palette neuquant indexing from sole's animated_GIF.js.