프로젝트 소개

VHS는 코드에서 터미널 GIF(및 기타 비디오 형식)를 생성하는 도구로, 통합 테스트 및 CLI 도구 데모를 위해 설계되었습니다. 사용자는 가상 터미널에서 텍스트 입력, 누르기, 화면 콘텐 대기, 대기 등의 작업을 수행하도록 VHS에 지시하는 일련의 명령을 포함하는 .tape 파일을 작성합니다. 출력은 GIF, MP4, WebM 또는 PNG 프레임 시퀀스로 렌더링할 수 있습니다. 주요 기능은 다음과 같습니다. - 타이핑, 키 르기(Enter, Tab, Backspace, 화살표, Ctrl 조합), 스크롤, 정규식을 통한 대기, 대기를 위한 Tape 파일 스크립팅 명령. - 꼴 패밀리 및 크기, 터미널 크기(픽셀 또는 열/행), 자간, 줄 이, 테마(JSON 또는 명명된 테마), 패딩, 여백, 창 표시줄 스타일, 모서리 반경, 프레임 레이트, 재생 속도, 루프 오프셤, 커서 깜빡임에 대한 설정. - `vhs record`를 사용하여 터미널 세션을 tape 파일로 직접 녹화. - 브라우저, HTML 또는 Markdown 링크를 통해 공유하기 위해 vhs.charm.sh로 GIF 게시. - 자체 호스팅을 위한 내장 SSH 서버(`vhs serve`)로, VHS가 호스트에 설치된 명령으로 실행되는 원격 액세스를 허용합니다. - `Require`를 통한 의존성 선언으로, 필요한 프로그램이 누락된 경우 조기에 실패. - 설정 또는 정리를 위해 프레임 처를 일시 중지하고 재개하는 `Hide`/`Show` 명령. - 다른 tape 파일의 명령을 포함하는 `Source` 명령. - `Env`를 통한 환경 변수 설정. - 클립보드 복사 및 붙여기 지원. - 개별 프레임에 대한 스크린샷 기능. VHS는 PATH에 ttyd와 ffmpeg가 필요합니다. 패키지 관리자(brew, pacman, nix, scoop, winget), Docker, 사전 빌드된 바이너리 또는 `go install`을 통해 설치할 수 있습니다.