README.md
1# Cast2Gif
2
3A tool to convert [Asciinema](https://github.com/asciinema/asciinema) cast files to Gifs *without* using Electron or a web browser.
4
5## Installing
6
7We have yet to get CI setup for automated builds, but there is a musl Linux build that should run on any distro in our [pre-release].
8
9[pre-release]: https://github.com/katharostech/cast2gif/releases/tag/pre-release
10
11## Example Recording
12
13Here is an example of a GIF created with `cast2gif`:
14
15![example](./doc/example1.gif)
16
17## Full Example
18
19Here is a recording showing how to record a clip with [Asciinema](https://github.com/asciinema/asciinema) and render it with `cast2gif`:
20
21![tutorial](./doc/tutorial.gif)
22
23## Features to Add
24
25Here are some features to get in as time permits, ordered by importance:
26
27- Support for changing the output resolution/font-size
28- Add a slight bit of padding around the terminal window.
29- Automated builds for Windows, Mac, and Linux so users don't have to build it themselves
30- Support for custom SVG templates to allow you to style the output
31- Support for rendering animated PNGs
32- Support for rendering animated SVGs
33
34
35## Building and Running
36
37To build you must have at least Rust 1.42+ installed. You can install it with [Rustup](https://rustup.rs/). Then Run
38
39 cargo build --release
40
41After that the `cast2gif` program will be in the `target/release` folder.
42
43Run `cast2gif --help` to get the usage instructions:
44
45 cast2gif 0.1.0
46 Zicklag <zicklag@katharostech.com>
47 Renders Asciinema .cast files as gif, svg, or animated png.
48
49 USAGE:
50 cast2gif [FLAGS] [OPTIONS] <cast_file> <out_file>
51
52 FLAGS:
53 -f, --force Overwrite existing output file
54 -h, --help Prints help information
55 -V, --version Prints version information
56
57 OPTIONS:
58 -c, --crop <crop> crop the recording while rendering. Specify crop in terminal cells as
59 `top=[int],left=[int],width=[int],height=[int]`.
60
61 ARGS:
62 <cast_file> The asciinema .cast file to render
63 <out_file> The file to render to
64
65## History
66
67This project started after a [discussion](https://users.rust-lang.org/t/writing-an-asciinema-to-gif-tool/39450/15?u=zicklag) on the Rust forum.
68