/ demo.tape
demo.tape
 1  # VHS documentation
 2  #
 3  # Output:
 4  #   Output <path>.gif               Create a GIF output at the given <path>
 5  #   Output <path>.mp4               Create an MP4 output at the given <path>
 6  #   Output <path>.webm              Create a WebM output at the given <path>
 7  #
 8  # Require:
 9  #   Require <string>                Ensure a program is on the $PATH to proceed
10  #
11  # Settings:
12  #   Set FontSize <number>           Set the font size of the terminal
13  #   Set FontFamily <string>         Set the font family of the terminal
14  #   Set Height <number>             Set the height of the terminal
15  #   Set Width <number>              Set the width of the terminal
16  #   Set LetterSpacing <float>       Set the font letter spacing (tracking)
17  #   Set LineHeight <float>          Set the font line height
18  #   Set LoopOffset <float>%         Set the starting frame offset for the GIF loop
19  #   Set Theme <json|string>         Set the theme of the terminal
20  #   Set Padding <number>            Set the padding of the terminal
21  #   Set Framerate <number>          Set the framerate of the recording
22  #   Set PlaybackSpeed <float>       Set the playback speed of the recording
23  #   Set MarginFill <file|#000000>   Set the file or color the margin will be filled with.
24  #   Set Margin <number>             Set the size of the margin. Has no effect if MarginFill isn't set.
25  #   Set BorderRadius <number>       Set terminal border radius, in pixels.
26  #   Set WindowBar <string>          Set window bar type. (one of: Rings, RingsRight, Colorful, ColorfulRight)
27  #   Set WindowBarSize <number>      Set window bar size, in pixels. Default is 40.
28  #   Set TypingSpeed <time>          Set the typing speed of the terminal. Default is 50ms.
29  #
30  # Sleep:
31  #   Sleep <time>                    Sleep for a set amount of <time> in seconds
32  #
33  # Type:
34  #   Type[@<time>] "<characters>"    Type <characters> into the terminal with a
35  #                                   <time> delay between each character
36  #
37  # Keys:
38  #   Escape[@<time>] [number]        Press the Escape key
39  #   Backspace[@<time>] [number]     Press the Backspace key
40  #   Delete[@<time>] [number]        Press the Delete key
41  #   Insert[@<time>] [number]        Press the Insert key
42  #   Down[@<time>] [number]          Press the Down key
43  #   Enter[@<time>] [number]         Press the Enter key
44  #   Space[@<time>] [number]         Press the Space key
45  #   Tab[@<time>] [number]           Press the Tab key
46  #   Left[@<time>] [number]          Press the Left Arrow key
47  #   Right[@<time>] [number]         Press the Right Arrow key
48  #   Up[@<time>] [number]            Press the Up Arrow key
49  #   Down[@<time>] [number]          Press the Down Arrow key
50  #   PageUp[@<time>] [number]        Press the Page Up key
51  #   PageDown[@<time>] [number]      Press the Page Down key
52  #   Ctrl+<key>                      Press the Control key + <key> (e.g. Ctrl+C)
53  #
54  # Display:
55  #   Hide                            Hide the subsequent commands from the output
56  #   Show                            Show the subsequent commands in the output
57  
58  Output demo.gif
59  
60  Require ruby
61  
62  Set Shell "bash"
63  Set FontSize 20
64  Set Width 1000
65  Set Height 1000
66  
67  # run le program
68  Type "ruby pizza.rb" 
69  Sleep 1s
70  Enter
71  
72  # show title
73  Sleep 1s
74  Enter
75  
76  # set the name
77  Sleep 1s
78  Type "Kamie"
79  Sleep 1s
80  Enter
81  Sleep 1s
82  Enter
83  
84  # Select option 1
85  Sleep 1s
86  Type "1"
87  Sleep 1s
88  Enter
89  Sleep 1s
90  
91  # Select option 3
92  Type "3"
93  Sleep 3s
94  Enter
95  
96  # Select option 2
97  Sleep 1s
98  Type "2"
99  Sleep 1s