Explorar e assistir vídeos do YouTube diretamente no terminal nunca foi tão eficiente. O ytfzf, um script POSIX robusto, utiliza um sistema de plugins altamente extensível para personalizar a jornada de busca de vídeos, dispensando a necessidade de configurações complexas de API. Esta arquitetura modular transforma uma ferramenta simples em uma plataforma de busca adaptável.
Arquitetura e tipos de plugins
O sistema de plugins do ytfzf é estruturado em módulos independentes, cada um responsável por uma etapa específica do processo de busca e exibição. Eles residem em diretórios dedicados dentro da estrutura do projeto.
Extensões (addons/extensions/)
Estes plugins adicionam funcionalidades auxiliares:
- Reprodução autommática: Executa o vídeo imediatamente após a seleção.
- Carregador de miniaturas otimizado: Acelera a visualização de thumbnails.
- Gerenciador de inscrições: Organiza os canais acompanhados.
- Suporte avançado a playlists: Melhora a manipulação de listas de reprodução.
Raspadores de vídeos (addons/scrapers/)
Responsáveis por obter resulatdos de diferentes fontes:
- YouTube Music: Busca otimizada para conteúdo musical.
- Raspador de anime: Focado em conteúdo animado.
- Busca de imagens: Suporte para encontrar conteúdo visual.
Visualizadores de miniaturas (addons/thumbnail-viewers/)
Oferecem renderização de imagens dentro do ambiente do terminal, como por exemplo via chafa.
Interfaces (addons/interfaces/)
Modificam a interação com o usuário:
- Sixel menu: Utiliza gráficos Sixel em terminais compatíveis.
- Integração com Kitty: Aproveita os recursos do terminal Kitty.
- Aprimoramento gráfico: Interface mais intuitiva.
Instalação e ativação
Para implantar todos os addons disponíveis, utilize o comando de compilação:
sudo make install-addons
Alternativamente, copie o arquivo .sh do plugin desejado para o diretório de configuração apropriado em ~/.config/ytfzf/addons/.
Utilização na prática
Ative plugins específicos durante a execução com flags dedicadas:
# Selecionar um raspador customizado
ytfzf --scraper <nome-do-scraper>
# Definir um visualizador de thumbnails
ytfzf --thumb-viewer <nome-do-viewer>
# Escolher uma interface alternativa
ytfzf --interface <nome-da-interface></nome-da-interface></nome-do-viewer></nome-do-scraper>
É possível combinar múltiplos plugins para criar um fluxo personalizado. Por exemplo, usar o visualizador chafa, configurar parâmetros específicos para o mpv e habilitar vários raspadores simultaneamente.
Vantagens do sistema modular
- Personalização granular: Adapte cada aspecto da busca e reprodução.
- Extensibilidade contínua: A comunidade pode desenvolver e compartilhar novos plugins.
- Performence sob medida: Otimize a ferramenta para seu caso de uso específico.
Perspectivas futuras
O ecossistema de plugins do ytfzf continua evoluindo. Contribuições recentes exploram integrações com serviços de transcrição automática, filtros baseados em aprendizado de máquina e conexões com outras plataformas de vídeo.