mirror of
https://github.com/cheat/cheat.git
synced 2024-11-01 05:31:01 +01:00
42 lines
1.1 KiB
Bash
42 lines
1.1 KiB
Bash
|
#!/usr/bin/env sh
|
||
|
|
||
|
# NOTE: Change this to suit your needs
|
||
|
|
||
|
TERM_WIDTH=80
|
||
|
TERM_HEIGHT=18
|
||
|
RECORDED_COMMAND="tuterm cheat.tut --mode demo"
|
||
|
alias copy='xsel -b'
|
||
|
|
||
|
# Dependencies:
|
||
|
# - asciinema (https://github.com/asciinema/asciinema)
|
||
|
# - svg-term (https://github.com/marionebl/svg-term-cli)
|
||
|
# - xsel
|
||
|
|
||
|
# Tuterm can be found here:
|
||
|
# https://github.com/veracioux/tuterm
|
||
|
|
||
|
rm -f /tmp/cheat.cast
|
||
|
|
||
|
stty cols "$TERM_WIDTH" rows "$TERM_HEIGHT"
|
||
|
# Record the command
|
||
|
asciinema rec -c "$RECORDED_COMMAND" /tmp/cheat.cast
|
||
|
|
||
|
# Change terminal width and height
|
||
|
# NOTE: for some reason the yes command prints Broken pipe; this is a workaround
|
||
|
sed -e "1 s/\(\"width\": \)[0-9]\+/\1$TERM_WIDTH/" \
|
||
|
-e "1 s/\(\"height\": \)[0-9]\+/\1$TERM_HEIGHT/" \
|
||
|
-e '/Broken pipe/d' \
|
||
|
-i /tmp/cheat.cast
|
||
|
|
||
|
# Upload to asciinema.org
|
||
|
output="$(asciinema upload /tmp/cheat.cast)"
|
||
|
echo "$output"
|
||
|
|
||
|
# Copy URL to clipboard
|
||
|
echo "$output" | grep 'https:' | sed 's/^\s*//' | copy
|
||
|
|
||
|
# Create local SVG animation
|
||
|
cat /tmp/cheat.cast | svg-term --out cheat_demo.svg
|
||
|
|
||
|
echo "SVG animation saved as 'cheat_demo.svg'"
|