Need help with clif?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

rauchg
451 Stars 12 Forks 17 Commits 3 Opened issues

Description

Dead easy terminal GIFs, from the terminal.

Services available

!
?

Need anything else?

Contributors list

clif

Cross-platform CLI GIF maker based on JS+Web.

How to use

Run

$ clif out.gif

type

exit
to finish and save the recording.

Features

  • 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
,
term.js
omggif
and
phantomjs
.

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 a

phantomjs
headless browser to render using
term.js
and screenshot.

The GIF is composited with

omggif
and finally written out to the filesystem.

Options

  Usage: clif [options] 

Options:

-h, --help           output usage information
-V, --version        output the version number
-c, --cols <cols>    Cols of the term [90]
-r, --rows <rows>    Rows of the term [30]
-s, --shell <shell>  Shell to use [/bin/bash]
-f, --fps <fps>      Frames per second [8]
-q, --quality <q>    Frame quality 1-30 (1 = best|slowest) [5]

TODO

  • Substitute
    phantom
    with a terminal rendered on top of
    node-canvas
    or low-level graphic APIs. terminal.js seems like a good candidate to add a
     adaptor to.
  • Should work on Windows with some minor tweaks.

Credits

License

MIT

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.