VHS scripts

This commit is contained in:
Kai Jellinghaus
2022-11-25 15:17:22 +01:00
parent 447ab42154
commit eaf90d0497
8 changed files with 203 additions and 0 deletions
+3
View File
@@ -0,0 +1,3 @@
# VHS Files
This folder includes [vhs](https://github.com/charmbracelet/vhs) files for demo purposes.
+37
View File
@@ -0,0 +1,37 @@
{
"summary": "",
"description": "",
"value": {
"modules": [
{
"id": "a",
"value": {
"type": "rawscript",
"content": "// import * as wmill from \"https://deno.land/x/windmill@v1.50.0/mod.ts\"\n\nexport async function main(x: string) {\n console.log(\"Hello from Deno! The argument x is \" + x);\n return x;\n}\n",
"language": "deno",
"input_transforms": {
"x": {
"type": "static",
"value": ""
}
}
}
},
{
"id": "b",
"value": {
"type": "rawscript",
"content": "def main():\n print(\"Hello from Step 2, in Python!\");\n",
"language": "python3",
"input_transforms": {}
}
}
]
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"required": [],
"type": "object"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 792 KiB

Binary file not shown.
+66
View File
@@ -0,0 +1,66 @@
# 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
#
# 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:
# Backspace[@<time>] [number] Press the Backspace 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
# 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 output/run-flow.gif
Output output/run-flow.webm
Require wmill
Set FontSize 12
Set Width 1200
Set Height 600
Set LoopOffset 50%
Hide
Type "name=$(cat /proc/sys/kernel/random/uuid | sed 's/[-]//g' | head -c 20; echo;)" Enter
Type "cat ./example.flow.json | wmill flow push /dev/stdin u/admin/$name" Enter
Sleep 1s
Show
Type "wmill flow run u/admin/$name" Enter
Sleep 10s
+97
View File
@@ -0,0 +1,97 @@
# 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
#
# 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:
# Backspace[@<time>] [number] Press the Backspace 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
# 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 output/setup.gif
Output output/setup.webm
Require wmill
Require docker
Set FontSize 12
Set Width 1200
Set Height 600
Set LoopOffset 50%
Hide
Type "rm -r ~/.config/windmill" Enter
Type "cd ../../" Enter
# Type "docker compose pull" Enter
# Type "docker compose down" Enter
Show
# once wait is supported see https://github.com/charmbracelet/vhs/issues/70
# Type "docker compose up -d" Enter Sleep 1400ms
Type "wmill setup" Enter Sleep 500ms
Type "http://localhost" Enter Sleep 500ms
Type "local" Enter Sleep 500ms
Enter # Use Username/Password Sleep 500ms
Type "admin@windmill.dev" Enter Sleep 500ms
Type "changeme" Enter Sleep 500ms
Down Enter Sleep 500ms
Sleep 1s
Type "wmill user" Enter Sleep 500ms
Type "wmill user add admin@example.com password12 --superadmin" Enter Sleep 500ms
Type "wmill user" Enter Sleep 500ms
Sleep 1s
Type "wmill login" Enter Sleep 500ms
Type "admin@example.com" Enter Sleep 500ms
Type "password12" Enter Sleep 500ms
Sleep 1s
Type "wmill user" Enter Sleep 500ms
Type "wmill user remove admin@windmill.dev" Enter Sleep 500ms
Type "wmill user" Enter Sleep 500ms
Sleep 10s