これはターミナルアプリ (TUI) であり、ちょっとした楽しみであり、現段階では実験的なものです!
| 概要 | トピックリスト、完全なトピック表示、返信、いいね、検索、および組み込みのコンポーザーを備えた、Discourseフォーラムを閲覧および投稿するためのターミナルUI。 | |
| リポジトリリンク | GitHub - merefield/termcourse: A terminal based client to access Discourse instances, supporting API keys, username/password (and with MFA token) | |
| インストールガイド | リポジトリ内のREADME.md(クイックスタートセクション) | |
| スポンサーシップ | このプロジェクトが当然受けるべきメンテナンスを受け、将来的にあなたのサイトで機能し続けることを保証するために、あなたの、またはあなたの組織のリソースとニーズに合ったレベルで、私のオープンソース作業の継続的なスポンサーになることをご検討ください (Sponsor @merefield on GitHub Sponsors · GitHub)。 |
termcourseを楽しんでいますか? GitHubで
してください
概要
> termcourse はDiscourse用のターミナルベースのクライアントです。これは軽量なブラウザセッションのように動作し、Cookieベースのログイン(ユーザー名/メールアドレス + パスワード)をサポートし、MFAのためにTOTP/バックアップコードをサポートします。ロックダウンされているサイトやSSOのみのサイトのためにAPIキーのフォールバックもあります。
特徴
- トピックリスト(最新/ホット/新規/未読/トップ)の閲覧、トップ期間の循環。
- 矢印キー + Enter、または最初の10件の表示トピックに対する番号ホットキー (1-0) でトピックを開く。
- スクロール可能な投稿、スティッキーなヘッダー/フッター、投稿位置/進捗バーを備えた完全なトピック表示。
- 選択された投稿を完全なコンテンツに展開。選択されていない投稿はコンパクトな抜粋を表示。
- トピック全体または特定の投稿への返信。
- タイトル、カテゴリピッカー、インライン本文コンポーザーを備えた新規トピックの作成。
- 投稿ごとの視覚的なハートの状態によるいいね/いいね解除。
- 投稿の検索と、一致するトピック/投稿のコンテキストへの直接ジャンプ。
- インラインコンポーザーは、カーソル移動、挿入、改行、バックスペース、およびライブ最小文字数カウンターをサポート。
- リンクの折り返しとインライン画像プレビューのサポート (chafa / viu) を含むMarkdown対応レンダリング。
- 一般的な :emoji: トークンと :)-スタイルのスマイルの絵文字置換。
- 環境変数 + ホストごとのcredentials.ymlによるマルチサイト認証情報サポート(不足しているログインフィールドのプロンプト付き)。
- MFAサポート(TOTP + バックアップコード)付きのCookieセッションのユーザー名/パスワードログイン、およびAPIキーフォールバック。
- YAML駆動のテーマ設定(組み込み(デフォルト、スレート、フェアグラウンド)およびローカルオーバーライド(theme.yml経由))。
- 設定可能なポーリング間隔 (TERMCOURSE_TICK_MS) を備えたリアクティブなリサイズ再描画。
- HTTP/認証およびUIレンダリング診断のためのオプションのデバッグロギング。
クイックスタート
詳細については、最新のREADMEを参照してください
git clone https://github.com/merefield/termcourse
cd termcourse
bundle install
ユーザー名/パスワード(推奨)
bundle exec bin/termcourse your.discourse.host
APIキーフォールバック
DISCOURSE_API_KEY=“your_key” DISCOURSE_API_USERNAME=“your_username”
bundle exec bin/termcourse your.discourse.host
認証に関する注意
- ユーザー名/パスワードログインは通常のブラウザスタイルのセッションを使用します。
- MFAはTOTPとバックアップコードでサポートされています。
- APIキーはフォールバックとしてサポートされています。
セキュリティ
- 認証情報は保存されません。Cookieはインメモリのみです。
- 環境変数を使用するか、提供されたプロンプトに応答することで、パスワードがシェル履歴に残るのを回避できます。
- ロギングはオプトインであり、デフォルトでは無効です。
制限事項
- リモートプロンプトを禁止しているため、一部のサイトはユーザー名/パスワードと互換性がありません。
- ターミナル内に存在します。
クレジット
Dumbcourse – Old-browser friendly UI at /dumb (D-pad + small screens) に部分的に触発されました ![]()



