diff --git a/.github/workflows/generate-terminal-gifs.yaml b/.github/workflows/generate-terminal-gifs.yaml new file mode 100644 index 0000000..d280c24 --- /dev/null +++ b/.github/workflows/generate-terminal-gifs.yaml @@ -0,0 +1,37 @@ +name: generate-terminal-gifs + +on: + push: + paths: + - 'docs/vhs/*.tape' + +jobs: + run: + strategy: + matrix: + tapes: + - 'docs/vhs/install.tape' + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.x' + + - uses: charmbracelet/vhs-action@v1 + with: + path: ${{ matrix.tapes }} + + - uses: stefanzweifel/git-auto-commit-action@v5 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + commit_message: Update generated VHS GIF + branch: main + commit_user_name: vhs-action 📼 + commit_user_email: actions@github.com + commit_author: vhs-action 📼 + file_pattern: '*.gif' diff --git a/docs/vhs/install.tape b/docs/vhs/install.tape new file mode 100644 index 0000000..84f0889 --- /dev/null +++ b/docs/vhs/install.tape @@ -0,0 +1,71 @@ +# VHS documentation +# +# Output: +# Output .gif Create a GIF output at the given +# Output .mp4 Create an MP4 output at the given +# Output .webm Create a WebM output at the given +# +# Require: +# Require Ensure a program is on the $PATH to proceed +# +# Settings: +# Set FontSize Set the font size of the terminal +# Set FontFamily Set the font family of the terminal +# Set Height Set the height of the terminal +# Set Width Set the width of the terminal +# Set LetterSpacing Set the font letter spacing (tracking) +# Set LineHeight Set the font line height +# Set LoopOffset % Set the starting frame offset for the GIF loop +# Set Theme Set the theme of the terminal +# Set Padding Set the padding of the terminal +# Set Framerate Set the framerate of the recording +# Set PlaybackSpeed Set the playback speed of the recording +# Set MarginFill Set the file or color the margin will be filled with. +# Set Margin Set the size of the margin. Has no effect if MarginFill isn't set. +# Set BorderRadius Set terminal border radius, in pixels. +# Set WindowBar Set window bar type. (one of: Rings, RingsRight, Colorful, ColorfulRight) +# Set WindowBarSize Set window bar size, in pixels. Default is 40. +# Set TypingSpeed