mirror of
https://github.com/Brandon-Rozek/website.git
synced 2024-11-26 01:53:58 -05:00
56 lines
1.4 KiB
Markdown
56 lines
1.4 KiB
Markdown
|
---
|
||
|
title: "Term To SVG"
|
||
|
date: 2022-01-17T10:14:22-05:00
|
||
|
draft: false
|
||
|
tags: []
|
||
|
math: false
|
||
|
---
|
||
|
|
||
|
With [`termtosvg`](https://github.com/nbedos/termtosvg) made by Nicolas Bedo we can make SVG animations from terminal output in the style of [asciinema](https://asciinema.org/). To install use [pipx](http://localhost:1313/blog/managepythonapps/).
|
||
|
|
||
|
```bash
|
||
|
pipx install termtosvg
|
||
|
```
|
||
|
|
||
|
To start recording, run the command `termtosvg`
|
||
|
|
||
|
```bash
|
||
|
termtosvg
|
||
|
```
|
||
|
|
||
|
It first outputs:
|
||
|
|
||
|
```
|
||
|
Recording started, enter "exit" command or Control-D to end
|
||
|
```
|
||
|
|
||
|
At "exit", by default it will save the animation to a random filename in the tmp folder.
|
||
|
|
||
|
```
|
||
|
Rendering ended, SVG animation is /tmp/termtosvg_xmadgf9y.svg
|
||
|
```
|
||
|
|
||
|
To control the default save location, pass in a filename after `termtosvg`
|
||
|
|
||
|
```bash
|
||
|
termtosvg /path/to/savefile.svg
|
||
|
```
|
||
|
|
||
|
To record only the execution of a particular command, use the flag `-c`
|
||
|
|
||
|
```bash
|
||
|
termtosvg -c neofetch
|
||
|
```
|
||
|
|
||
|
I recommend that you resize the terminal window so that the frames generated match the desired width and height. You can instead use the `-g` flag to pass in a geometry. ("100x30" creates a screen with 100 colums and 30 rows)
|
||
|
|
||
|
Lastly, if you don't want an animation, you can pass in `-s` and the result will be a folder of SVG files representing each frame.
|
||
|
|
||
|
```bash
|
||
|
termtosvg -s
|
||
|
```
|
||
|
|
||
|
Here is an example of an animation I made with this tool:
|
||
|
|
||
|
![](/files/images/202201171031.svg)
|