asciinema-scenario

Crates.ioasciinema-scenario
lib.rsasciinema-scenario
version0.3.0
sourcesrc
created_at2020-09-12 23:05:44.866058
updated_at2022-04-23 21:55:27.465766
descriptionCreate asciinema videos from a text file.
homepagehttps://github.com/garbas/asciinema-scenario
repositoryhttps://github.com/garbas/asciinema-scenario
max_upload_size
id287930
size32,566
Rok Garbas (garbas)

documentation

README

asciinema-scenario

Build

Create asciinema videos from a text file.

Have you ever re-record your asciinema video over and over again to hit perfect speed and avoid making typos? I did, too many times and this is why I wrote this tool.

Installation

If you have Nix installed, then issue nix-build, and the asciinema-scenario executable will be available in ./result/bin/.

$ nix-build
$ result/bin/asciinema-scenario

Usage

asciinema-scenario

How to write a .scenario file?

  • If first line starts with #! it must be followed by JSON object. The object can include:

    Name Type Default Description
    step float 0.10 A time in seconds of typing speed of a single event.
    width int 77 Maximum number of characters in one line.
    height int 20 Number of lines of the video
  • Empty lines will add timeout of 3 x step.

  • Lines starting with #timeout: 1.5 will create a 1.5 second timeout. When custom timeout is needed select the timeout you need.

  • Lines starting with # will be skipped and can serve as comments.

  • Lines starting with $ will be typed out one character at the time with step timeout in between. Every character after # will be brighter.

  • Lines starting with "(nix-shell) $ " will be typed out with (nix-shell) in green color.

  • Lines starting with "--" will clear the screen. A timeout of 18 * step will be there before the terminal screen clears.

  • Everything else will be displayed immediately.

Tips

  • To immediately display a shell command line example (instead of having it being typed out as the default behaviour), precede $ with a zero-width space

  • To quickly play back the scenario you are working on (or any for that matter), use

    $ asciinema-scenario my.scenario | asciinema play -
    # or
    $ asciinema play <(asciinema-scenario my.scenario)
    

Releases

Detailed release notes are available in this repo at CHANGES.md.

Reporting issues

Found a bug? I'd love to know about it!

Please report all issues on the GitHub issue tracker.

License

Licensed under either of these:

Commit count: 126

cargo fmt