Created
January 8, 2024 04:57
-
-
Save r17x/232ae9f88dfc8f2d78803b18057bed35 to your computer and use it in GitHub Desktop.
VHS demo: POSTED from https://x.com/__r17x/status/1744181636504449492?s=20
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# VHS documentation | |
# | |
# Output: | |
# Output <path>.gif Create a GIF output at the given <path> | |
# Output <path>.mp4 Create an MP4 output at the given <path> | |
# Output <path>.webm Create a WebM output at the given <path> | |
# | |
# Require: | |
# Require <string> Ensure a program is on the $PATH to proceed | |
# | |
# Settings: | |
# Set FontSize <number> Set the font size of the terminal | |
# Set FontFamily <string> Set the font family of the terminal | |
# Set Height <number> Set the height of the terminal | |
# Set Width <number> Set the width of the terminal | |
# Set LetterSpacing <float> Set the font letter spacing (tracking) | |
# Set LineHeight <float> Set the font line height | |
# Set LoopOffset <float>% Set the starting frame offset for the GIF loop | |
# Set Theme <json|string> Set the theme of the terminal | |
# Set Padding <number> Set the padding of the terminal | |
# Set Framerate <number> Set the framerate of the recording | |
# Set PlaybackSpeed <float> Set the playback speed of the recording | |
# Set MarginFill <file|#000000> Set the file or color the margin will be filled with. | |
# Set Margin <number> Set the size of the margin. Has no effect if MarginFill isn't set. | |
# Set BorderRadius <number> Set terminal border radius, in pixels. | |
# Set WindowBar <string> Set window bar type. (one of: Rings, RingsRight, Colorful, ColorfulRight) | |
# Set WindowBarSize <number> Set window bar size, in pixels. Default is 40. | |
# Set TypingSpeed <time> Set the typing speed of the terminal. Default is 50ms. | |
# | |
# Sleep: | |
# Sleep <time> Sleep for a set amount of <time> in seconds | |
# | |
# Type: | |
# Type[@<time>] "<characters>" Type <characters> into the terminal with a | |
# <time> delay between each character | |
# | |
# Keys: | |
# Escape[@<time>] [number] Press the Escape key | |
# Backspace[@<time>] [number] Press the Backspace key | |
# Delete[@<time>] [number] Press the Delete key | |
# Insert[@<time>] [number] Press the Insert key | |
# Down[@<time>] [number] Press the Down key | |
# Enter[@<time>] [number] Press the Enter key | |
# Space[@<time>] [number] Press the Space key | |
# Tab[@<time>] [number] Press the Tab key | |
# Left[@<time>] [number] Press the Left Arrow key | |
# Right[@<time>] [number] Press the Right Arrow key | |
# Up[@<time>] [number] Press the Up Arrow key | |
# Down[@<time>] [number] Press the Down Arrow key | |
# PageUp[@<time>] [number] Press the Page Up key | |
# PageDown[@<time>] [number] Press the Page Down key | |
# Ctrl+<key> Press the Control key + <key> (e.g. Ctrl+C) | |
# | |
# Display: | |
# Hide Hide the subsequent commands from the output | |
# Show Show the subsequent commands in the output | |
Output vhs.gif | |
Require echo | |
Require nix | |
Require fish | |
Set Shell "fish" | |
Set FontSize 32 | |
Set Width 1200 | |
Set Height 600 | |
Type "echo 'Welcome to VHS! and I run VHS recursively'" Sleep 500ms Enter | |
Type "echo 'Output rec.vhs.gif' > rec.vhs.tape" Sleep 250ms Enter | |
Type "echo 'Require echo' >> rec.vhs.tape" Sleep 250ms Enter | |
Type "echo 'Require nix' >> rec.vhs.tape" Sleep 250ms Enter | |
Type "echo 'Require fish' >> rec.vhs.tape" Sleep 250ms Enter | |
Type "echo 'Set Shell "fish"' >> rec.vhs.tape" Sleep 250ms Enter | |
Type "echo 'Set FontSize 32' >> rec.vhs.tape" Sleep 250ms Enter | |
Type "echo 'Set Width 1200' >> rec.vhs.tape" Sleep 250ms Enter | |
Type "echo 'Set Height 600' >> rec.vhs.tape" Sleep 250ms Enter | |
Type "echo 'Sleep 10s' >> rec.vhs.tape" Sleep 250ms Enter | |
Type "nix run nixpkgs#vhs "rec.vhs.tape"" Sleep 100ms Enter | |
Sleep 150s | |
Type "nix run nixpkgs#cowsay "'Done! anyways'"" Sleep 100ms Enter | |
Sleep 15s |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment