Pitch: Yet another TabNews CLI. Este estou fazendo em Go.
tn-cli
Estou criando o tn-cli, um CLI para TabNews - mais um ;). O TabNews tem uma API e também tem RSS disponível. Assim, resolvi criar um cliente usando Go e uma biblioteca para TUI (terminal UI) bem interessante, a gocui. Essa é uma das melhores bibliotecas que já vi para aplicações no terminal.
Vi que já existem algumas pessoas criando outros CLIs para o TabNews, mas estão usando linguagens que acredito que não sejam ideais, como TS/Node and Python. Para uma aplicação rápida e robusta no terminal, precisamos de algo compilado e rápido como Go, é a minha opinião. Deixe seus comentários abaixo.
Criei este app inspirado pelo cliente Git lazygit, o melhor que já vi para o terminal. Também usa gocui.
Bibliotecas
- gocui for the TUI. This is one the best TUI libraries I've even seen. Supports even mouse interaction!
- go-term-markdown for Markdown rendering.
Links
Preview
Também Criei uma TUI para o tabnews, mas faz um bom tempo e acabei deixando o projeto por que tive que focar no trabalho, recentemente fui demitido e voltei ao projeto para ter algo a mais para apresentar para quem abre meu github, estava fazendo com python, usando a biblioteca rich,e realmente, não é a melhor opção para a criação de tuis, passei a utilizar o golang, mas estou utilizando a biblioteca bubbletea para a interface e o lipggloss para a estilização, Tá muito massa seu projeto, assim que terminar uma versão funcional vou criar uma publicação aqui, o "diferencial" que estou fazendo, é que não estou fazendo apenas o feed, estou recriando todas as funcionalidades, inclusive o login, o header com as informações de tabcoins, etc, possibilidade de comentar, "curtir, descurtir", etc, a vantagem é que o bubbletea já permite a apresentação do markdown formatado e possui componentes como botões, textarea, etc
Se tiver interesse em centralizar a discussão desta criação de uma TUI aqui no tabnews para que seja uma coisa mais colaborativa, assim como os projetos principais, vamos bater um papo, vamos fazer o melhor que pudermos para que quem for utilizar tenha a mesma experiência que o site!
Vi que já existem algumas pessoas criando outros CLIs para o TabNews, mas estão usando linguagens que acredito que não sejam ideais, como TS/Node and Python. Para uma aplicação rápida e robusta no terminal, precisamos de algo compilado e rápido como Go, é a minha opinião
Eu discordo, existem bibliotecas incriveis pra fazer TUI em python principalmente. A performance não é critica em nenhuma aplicação de terminal btw, 90% do codigo do git
é bash puro.
Problemas de performance 99,9999% das vezes tem mais haver com o código, do que com a escolha da linguagem.
Sensacional cetorres
ficou muito bonito! É um sonho ver tantos TUIs
sendo implementados com a API do TabNews 🎉
Em paralelo eu vi que, depois do load
inicial, ele mostra instantaneamente o conteúdo da publicação quando você seleciona ela. Você está fazendo o pre-fetch
de tudo antes? Uma coisa que vai acelerar isso é quando fizermos o cache do nosso lado de todos os conteúdos pela API, pois por enquanto somente as listas principais em /api/v1/contents
estão cacheadas 🤝
Meus parabéns, ficou muito bom!!! Eu uso neovim para programar e passo a maior parte do meu dia no terminal. Amo fazer tudo sem ter que sair da telinha preta. Não desenvolvo em golang, mas sei como é boa para aplicações de TUI, estava procurando justamente uma ferramenta como essa.