Essa aplicação vai mudar os README de projetos CLI
Boa tarde a todos!
Um amigo havia me recomendado a um tempo e eu nunca parei para realmente prestar atenção. Mas todo README moderno de apps cli tem um pequeno gif em alta resolução mostrando sua aplicação e como ela funciona?
Antigamente eu usava uma ferramenta chamada Peek mas por ser uma ferramenta mais global ele normalmente grava em uma qualidade bem ruim, e muita vezes fora de escopo do projeto.
Então meu amigo @kevinmarquesp chegou numa call e me apresentou ao VHS. Uma aplicação escrita em golang que serve justamente para gravar gifs de aplicações rodando.
E se você é um desenvolvedor GO também vai reconhecer a charmbracelet que é a organização criadora da biblioteca de TUI Bubbletea.
Gif de um vídeo gravado com peek
Gif de um vídeo gravado com VHS
Como funciona?
A maneira em que o VHS funciona é simples, atráves de um arquivo TAPE. E não, não estou falando de T(ape) AR(chive) mas de outro Tape.
Esse tape é uma pequena linguagem declarativa onde citamos o que quer que apareça no gif e o formato de output
# Source code for the VHS neofetch example.
#
# To run:
#
# vhs < neofetch.tape
Output examples/neofetch/neofetch.gif
Output examples/neofetch/neofetch.mp4
Output examples/neofetch/neofetch.webm
Output examples/neofetch/frames/
Set TypingSpeed 75ms
Set FontSize 22
Set Width 1300
Set Height 650
Type "neofetch"
Sleep 500ms
Enter
Sleep 2s
Type "Welcome to VHS!"
Sleep 1
Space
Type "A tool for generating terminal GIFs from code."
Sleep 5s
Após declarar as informações sobre o GIF a ser gravado você executa vhs {nome do tape} e o código gera o arquivo no formato expecificado em output.