Dumbcourse – 旧ブラウザ対応UIを/dumbで(十字キー+小画面)

:information_source: 概要 Dumbcourseは、標準のDiscourse UIが重すぎる場合に備えて、Dパッドナビゲーション小型スクリーン古いAndroid WebView向けに設計された、軽量で古いブラウザに対応したDiscourse UIを**/dumb**の下で提供します。
:hammer_and_wrench: リポジトリリンク https://github.com/TripleU613/dumbcourse
:open_book: インストールガイド Discourseにプラグインをインストールする方法

特徴

  • 同じDiscourseドメインの**/dumb**で最小限のSPAを提供
  • ES5 / ビルドステップなし。古いブラウザやWebViewのために意図的に最小限のDOM/JS/CSSを使用
  • 同一オリジンのDiscourse JSONエンドポイントと標準のDiscourseセッションCookieを使用
  • トピックリスト: latestnewtopunseenhotmy、およびカテゴリ
  • カテゴリ表示: /dumb/c/:slug/:id
  • トピックの閲覧と投稿(返信/引用/リアクション)
  • 検索と基本的なプロフィール表示
  • フォーカス可能なUI要素を備えたDパッドフレンドリーなナビゲーション

設定

  1. プラグインのインストール

    • containers/app.ymlhooks -> after_codeの下にリポジトリを追加し、コンテナを再構築します。
  2. 有効化

    • 管理 → プラグイン → Dumbcourse に移動します
    • dumbcourse_enabled を有効にします
  3. デフォルトの選択

    • デフォルトのテーマとデフォルトのランディングビューを設定します(以下の設定を参照)。
  4. 確認

    • アクセス: https://YOUR_FORUM_DOMAIN/dumb
    • 匿名ユーザーは/dumb/loginに移動するはずです
    • ログインしたユーザーは設定されたデフォルトビューを見るはずです

スクリーンショット

古いブラウザ / 標準のDiscourse UI

Dumbcourse UI

スレッド内

投稿アクション / 選択

基本メニュー

プラグイン設定


状況 / 既知の制限事項

このプロジェクトは現在ベータ版(最初の実装は迅速に行われた)であるため、粗削りな部分がある可能性があります。貢献やコードレビューを歓迎します。

現在の既知のギャップ/未解決の質問:

  • サインアップ + CAPTCHA: アカウント作成はDiscourseの標準サインアップフローに依存しますが、CAPTCHAの動作はサイトの設定によって異なる場合があります。
  • セキュリティレビュー: 単純化されたUIはDiscourseの権限を迂回すべきではありませんが、まだ徹底的なセキュリティレビューは行われていません。懸念事項や不審な動作があれば報告してください。
  • モデレーション/管理者UX: モデレーションおよび管理ツールは現在最小限です。安全に拡張することはロードマップにあります。
  • タッチ + Dパッド操作: タッチ入力が一部のデバイスでフォーカスナビゲーションと競合する可能性があります。改善が計画されています。
  • リンク共有: /dumbは代替UIを提供するため、「dumb」ユーザーと標準ユーザー間で正規リンクを共有することに関する疑問が生じます。一貫したアプローチがまだ洗練されています。

謝辞

重要な貢献をしてくれた@ars18(GitHub: https://github.com/alltechdev)と、元のアイデアを立ち上げるのを手伝ってくれたことに特に感謝します。


設定

名前 説明
dumbcourse_enabled Dumbcourseのマスターオン/オフ切り替え。
dumbcourse_default_theme /dumbのデフォルトテーマ(dark / light)。
dumbcourse_default_view デフォルトのランディングビュー(latest / new / top / unseen / hot / my / categories)。
dumbcourse_sidebar_link_enabled サイドバーに/dumbへのリンクを追加します。