Questa è un’app Terminale (TUI), solo per divertimento… ed è ancora un po’ sperimentale in questa fase!
Sommario
Un’interfaccia utente terminale per navigare e pubblicare sui forum Discourse con elenchi di argomenti, visualizzazioni complete degli argomenti, risposte, “mi piace”, ricerca e un compositore integrato.
Si prega di prendere in considerazione di diventare uno sponsor continuativo del mio lavoro open source (Sponsor @merefield on GitHub Sponsors · GitHub) a un livello che si adatti alle risorse e alle esigenze vostre o della vostra organizzazione per garantire che questo progetto riceva la manutenzione che merita e continui a funzionare per il vostro sito in futuro.
Ti piace termcourse? Per favore, mettigli una su GitHub
> termcourse è un client basato su terminale per Discourse. Si comporta come una sessione browser leggera con accesso tramite cookie (nome utente/email + password) e supporta TOTP/codici di backup per l’autenticazione a più fattori (MFA). C’è anche un fallback tramite chiave API per siti bloccati o solo con SSO.
Funzionalità
Sfoglia gli elenchi di argomenti Ultimi / Caldi / Nuovi / Non letti / Migliori, con ciclo del periodo per i Migliori.
Apri argomenti tramite frecce + Invio, o tasti rapidi numerici (1-0) per i primi 10 argomenti visibili.
Visualizza argomenti completi con post scorrevoli, intestazione/piè di pagina fissi e una barra di avanzamento/posizione del post.
Espandi i post selezionati al contenuto completo; i post non selezionati mostrano estratti compatti.
Rispondi a interi argomenti o a post specifici.
Crea nuovi argomenti con titolo, selettore di categoria e compositore di corpo inline.
Metti/rimuovi “mi piace” ai post con stato visivo del cuore per post.
Cerca post e salta direttamente al contesto di argomento/post corrispondente.
Il compositore inline supporta il movimento del cursore, l’inserimento, le nuove righe, il backspace e un contatore di lunghezza minima in tempo reale.
Rendering consapevole del Markdown, inclusi link con wrapping e supporto per l’anteprima di immagini inline (chafa / viu).
Sostituzioni di emoji per i token :emoji: comuni e le faccine stile :-).
Supporto per credenziali multi-sito tramite variabili d’ambiente + file credentials.yml per host (con richiesta per campi di accesso mancanti).
Accesso nome utente/password tramite sessione cookie con supporto MFA (TOTP + codice di backup), più fallback chiave API.
Tematizzazione guidata da YAML con elementi integrati (default, slate, fairground) e override locali tramite theme.yml.
Ridimensionamento reattivo con intervallo di polling configurabile (TERMCOURSE_TICK_MS).
Logging di debug opzionale per diagnostica HTTP/auth e rendering UI.
Nota: ho trovato un sito che blocca nome utente/password remoti, quindi questo client non funzionerà in quella situazione (a meno che non sia di tua proprietà e tu possa impostare una chiave API!) - suggerimenti benvenuti, ma attualmente nessun supporto in quelle istanze.
Non sono sicuro che lo userò nel mondo reale, non ne vedo l’utilità per me, ma l’ho provato ed è delizioso. Adoro poter interagire con una piattaforma di forum di nuova generazione da un’interfaccia primitiva e “bare-metal”.
Se ti prendi la briga di installare chafa o viu, ora sarai ricompensato con una nuova funzionalità: l’opzione “finestra intera” per le immagini dei post. Su Windows questo è particolarmente buono grazie alla generosa profondità di colore supportata nell’applicazione Windows Terminal.
termcourse ora ha un pop-up di stato PM non letto nella barra di stato dell’elenco degli argomenti e, proprio come il client del browser, invierà notifiche di lettura post per post man mano che si sposta il cursore
Quindi il rendering faceva schifo… quindi l’ho sistemato… l’interfaccia utente ora ha il rendering delle differenze, quindi è molto più veloce e fluida… non dipinge più l’intero schermo a ogni movimento del cursore.
L’ho testato solo su Windows finora, quindi per favore segnalate eventuali problemi, ma dovrebbe aiutare significativamente i sistemi più lenti.
Ora dispone di un sistema di notifica in tempo reale basato su MessageBus per avvisarti nella barra di stato quando l’elenco degli argomenti ha nuovi aggiornamenti (in modo da poter premere g per aggiornare):
Non è una cattiva idea… vale sicuramente la pena di dare un’occhiata a un certo punto per vedere se le cose possono essere avvicinate in modo sensato … ma ci sono ovviamente alcune differenze significative nei medium, quindi alcune cose potrebbero rimanere diverse.