このプロジェクトについて
VHSは、コードからターミナルGIF(およびその他の動画形式)を生成するツールで、統合テストやCLIツールのデモに向けて設計されています。ユーザーは.tapeファイルに一連のコマンドを記述し、VHSに仮想ターミナル上でテキストの入力、キー押下、画面内容の待機、スリープなどの操作を指示します。出力はGIF、MP4、WebM、またはPNGフレームシーケンスとしてレンダリングできます。
主な機能は以下の通りです。
- テキスト入力、キー押下(Enter、Tab、Backspace、方向キー、Ctrl組み合わせ)、スクロール、正規表現による待機、スリープなどのコマンドを含むTapeファイルスクリプト
- フォントファミリーとサイズ、ターミナルサイズ(ピクセルまたは列/行)、文字間隔、行の高さ、テーマ(JSONまたは名前指定)、パディング、マージン、ウィンドウバースタイル、角丸半径、フレームレート、再生速度、ループオフセット、カーソル点滅などの設定
- `vhs record`によるターミナルセッションの直接録画
- vhs.charm.shへのGIF公開と、ブラウザ、HTML、Markdownリンクでの共有
- 組み込みSSHサーバー(`vhs serve`)によるセルフホスティング。リモートアクセス時もホストにインストールされたコマンドでVHSを実行可能
- `Require`による依存関係の宣言。必要なプログラムがない場合に早期失敗
- `Hide`/`Show`コマンドによるフレームキャプチャの一時停止と再開
- `Source`コマンドによる他のtapeファイルからのコマンド読み込み
- `Env`による環境変数の設定
- クリップボードのコピー&ペースト対応
- 個別フレームのスクリーンショット機能
VHSの実行には、PATH上にttydとffmpegが必要です。インストールはパッケージマネージャー(brew、pacman、nix、scoop、winget)、Docker、プリビルドバイナリー、または`go install`で行えます。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.