Executando verificação de segurança...
12

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

Preview

Carregando publicação patrocinada...
1

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!

Pode me chamar em qualquer contato se quiser

Publicação original do Cli-news

1
1
1

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.

1
1

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 🤝

2

Oi filipedeschamps, maravilha ter gostado! Eu estou usando o <content:encoded> que vem no RSS feed, ai mostra direto.
Estou vendo aqui como mostrar o conteúdo formatado com HTML/Markdown no terminal.

Uma pergunta, só existe RSS para os mais recentes, mas não para os relevantes? Não consegui achar.

Valeu!
Carlos

1

Eu fiz assim porque RSS é sempre por ordem de postagem, não é ordenado por relevancia, e isso tambem ajuda os clientes do rss, porque eles esperam que venha tudo por ordem de criação.

0
1

Excelente! É muito maneiro ver vários tipos diferentes de consumir o TabNews! Um ótimo trabalho, super curti! Vou testar e utilizar com certeza!

1
1

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.

1

Valeu NathanFirmo, obrigado por ter gostado! Eu também adoro aplicações de terminal. Golang foi uma opção boa porque muitas aplicações que uso são feitas com essa linguagem. Então usei a oportunidade para aprender mais sobre a linguagem e criar algo útil. Sinta-se livre para contribuir com o projeto! Valeu.

0