Dies ist eine Terminal-App (TUI), nur zum Spaß … und im Moment noch etwas experimentell!
Zusammenfassung
Eine Terminal-UI zum Durchsuchen und Posten in Discourse-Foren mit Themenlisten, vollständigen Themenansichten, Antworten, Likes, Suche und einem integrierten Composer.
Bitte erwägen Sie, ein regelmäßiger Sponsor meiner Open-Source-Arbeit zu werden (Sponsor @merefield on GitHub Sponsors · GitHub) auf einem Niveau, das Ihren oder den Ressourcen und Bedürfnissen Ihrer Organisation entspricht, um sicherzustellen, dass dieses Projekt die Wartung erhält, die es verdient, und weiterhin für Ihre Website funktioniert.
Gefällt Ihnen termcourse? Bitte geben Sie ihm einen auf GitHub
> termcourse ist ein terminalbasiertes Client für Discourse. Es verhält sich wie eine leichtgewichtige Browsersitzung mit Cookie-basierter Anmeldung (Benutzername/E-Mail + Passwort) und unterstützt TOTP/Backup-Codes für MFA. Es gibt auch einen API-Schlüssel-Fallback für gesperrte oder nur SSO-Websites.
Funktionen
Durchsuchen von Listen für Neueste / Beliebt / Neu / Ungelesen / Top-Themen, mit zyklischer Änderung der Top-Periode.
Öffnen von Themen über Pfeile + Enter oder Tastenkürzel (1-0) für die ersten 10 sichtbaren Themen.
Anzeigen vollständiger Themen mit scrollbaren Beiträgen, einem fixierten Kopf-/Fußzeilenbereich und einer Beitragspositions-/Fortschrittsanzeige.
Erweitern ausgewählter Beiträge auf den vollständigen Inhalt; nicht ausgewählte Beiträge zeigen kompakte Auszüge.
Antworten auf ganze Themen oder bestimmte Beiträge.
Erstellen neuer Themen mit Titel, Kategorieauswahl und Inline-Body-Composer.
Liken/Entliken von Beiträgen mit visuellem Herzstatus pro Beitrag.
Durchsuchen von Beiträgen und direktes Springen zum entsprechenden Themen-/Beitrags-Kontext.
Der Inline-Composer unterstützt Cursorbewegung, Einfügen, neue Zeilen, Rücktaste und einen Live-Min-Längen-Zähler.
Markdown-bewusstes Rendering, einschließlich umbrochener Links und Unterstützung für Inline-Bildvorschau (chafa / viu).
Emoji-Ersetzungen für gängige :emoji:-Tokens und :)-ähnliche Smileys.
Unterstützung für Anmeldeinformationen mehrerer Websites über Umgebungsvariablen + credentials.yml pro Host (mit Aufforderung bei fehlenden Anmeldefeldern).
Cookie-Sitzungs-Anmeldung mit Benutzername/Passwort und MFA-Unterstützung (TOTP + Backup-Code) sowie API-Schlüssel-Fallback.
YAML-gesteuerte Thematisierung mit integrierten Optionen (standard, slate, fairground) und lokalen Überschreibungen über theme.yml.
Reaktives Größenänderungs-Neuzeichnen mit konfigurierbarem Abrufintervall (TERMCOURSE_TICK_MS).
Optionale Debug-Protokollierung für HTTP/Authentifizierung und UI-Rendering-Diagnosen.
Schnellstart
Weitere Informationen finden Sie in der neuesten README
git clone https://github.com/merefield/termcourse
cd termcourse
bundle install
Sie müssen viu oder chafa installiert haben – was selbst schon ein Projekt sein kann
Im High-Quality-Modus mit chafa oder mit viu ist das Windows Terminal dem MacOS Terminal überlegen, da es viel mehr Farben unterstützt (danke Microsoft!)
Versionshinweise: Bilddarstellung (im Terminal!)
Bilddarstellung
Inline-Vorschauen für Bilder mit Backend-Auswahl hinzugefügt:
Versucht zuerst chafa, dann viu.
TERMCOURSE_CHAFA_MODE=stable|quality
stable: konservative Ausgabe für Terminal-Stabilität.
Eine Anmerkung: Ich habe eine Seite gefunden, die Benutzername/Passwort-Anmeldungen aus der Ferne blockiert. Dieser Client funktioniert in dieser Situation also nicht (es sei denn, Sie besitzen die Seite und können einen API-Schlüssel festlegen!) – Vorschläge sind willkommen, aber derzeit gibt es in diesen Fällen keine Unterstützung.
Ich bin mir nicht sicher, ob ich das in der Praxis verwenden werde, ich sehe keinen Nutzen für mich, aber ich habe es ausprobiert und es ist entzückend. Ich liebe es, mit einer Forum-Plattform der nächsten Generation von einer Bare-Metal-, primitiven Oberfläche aus interagieren zu können.
In gewisser Weise ist es sehr ästhetisch ansprechend.
Wenn Sie sich die Mühe machen, chafa oder viu zu installieren, werden Sie nun mit einer neuen Funktion belohnt: der Umschaltmöglichkeit „Ganzes Fenster“ für Beitragsbilder. Unter Windows ist dies besonders gut, da die Windows Terminal-App eine großzügige Farbtiefe unterstützt.
termcourse hat jetzt ein Pop-up für ungelesene PMs in der Statusleiste der Themenliste, und genau wie der Browser-Client sendet es gelesene Benachrichtigungen Beitrag für Beitrag zurück, während Sie den Cursor bewegen.
Das Rendering war suuuuuuuper schlecht … also habe ich es behoben … die Benutzeroberfläche hat jetzt eine Diff-Darstellung, sodass sie viel schneller und flüssiger ist … sie malt nicht mehr den ganzen Bildschirm bei jeder Cursorbewegung.
Ich habe dies bisher nur unter Windows getestet, also meldet bitte alle Probleme zurück – aber es sollte langsamen Systemen erheblich helfen.
Ich habe auch einige Tests und GitHub CI hinzugefügt!
Hat jetzt ein Echtzeit-Benachrichtigungssystem, das auf MessageBus basiert, um Sie in der Statusleiste zu benachrichtigen, wenn die Themenliste neue Aktualisierungen hat (damit Sie g drücken können, um zu aktualisieren):
Kein schlechter Gedanke … das ist definitiv wert, irgendwann einmal darauf zurückzukommen, um zu sehen, ob die Dinge sinnvoll näher zusammengeführt werden können … aber es gibt natürlich einige erhebliche Unterschiede im Medium, daher könnten einige Dinge unterschiedlich bleiben.