pular para o conteúdo

tbook

Um leitor de EPUB que mora no terminal: capa, ilustrações em blocos ANSI e a leitura retomada no parágrafo exato onde você parou.

ano
2026
área
ferramenta de terminal
estado
publicado — primeira versão
stack
Go · TUI · ANSI 24-bit · EPUB

tbook ver código

o problema

Ler no terminal costuma ser uma experiência de segunda classe: os leitores que existem tratam o EPUB como texto puro e jogam fora o que o livro tem de visual — capa, ilustrações, tipografia. E os leitores de desktop resolvem isso ao custo de uma janela a mais e de um app que quer sua atenção.

Faltava uma coisa simples: abrir um livro no shell e continuar de onde parei, sem sair do terminal e sem perder o que o arquivo traz dentro.

a abordagem

O tbook é um único binário em Go: `tbook livro.epub` abre o livro, a capa vem na primeira página e as imagens do EPUB são desenhadas como arte ANSI de 24 bits, com fallback automático para 256 cores quando o terminal não acompanha.

A leitura é toda por teclado — setas trocam de capítulo, `/` busca um trecho, `n`/`N` pulam entre ocorrências, `b` marca o ponto, `t` troca entre os temas dark, light e sepia. A coluna é ajustável de 40 a 120 caracteres (76 por padrão), porque largura de leitura é preferência, não padrão de fábrica.

O detalhe que definiu o projeto foi a memória: ao sair, o tbook guarda posição, bookmarks e tempo de leitura por livro, e `tbook stats` mostra o histórico. `tbook library` navega pela estante com capa e progresso ao lado, e `tbook search`/`tbook download` buscam clássicos do Project Gutenberg direto para a biblioteca — sem abrir o navegador.

estado hoje

Primeira versão publicada no GitHub (set/2026), com capa e ilustrações, busca, bookmarks, três temas, estatísticas de leitura e integração com o Project Gutenberg. É o que eu uso para ler no terminal.

a seguir: Scheduling API