Skip to content

liquidcatmofu/better-webclass

Repository files navigation

Better WebClass

WebClass(大学向け LMS)の利便性を向上させる Chrome / Firefox 拡張機能です。

機能

ファイルハンドラ

  • 資料閲覧ページに ↓ DL / ↓ 科目名DL ボタンを追加し、正しいファイル名でダウンロード可能に
  • 添付資料リンク(PDF・テキスト等)をクリックすると直接ダウンロード(ポップアップウィンドウを開かずに取得)
  • 課題・メッセージの PDF をモーダルで表示

UI 改善

  • テーブルの交互着色
  • フローティングの「トップへ戻る」ボタン
  • コンテンツグループの折りたたみ/展開(アイテム数・期限バッジを表示)

課題トラッカー

  • 課題・レポート・自習の締め切りまでの残日数をバッジで表示(今日中 / 明日まで / あとN日 / 期限切れ / 提出済)
  • 残り時間を時間・分単位で表示
  • 成績集計ページ(/scores)から提出状況を取得し、未採点(*[N])も含め正確に判定
  • 種別が「資料」の項目は対象外

コース一覧への課題情報表示

  • 時間割・コース一覧に未提出件数と最短締切をリアルタイム表示
  • 時間割表の上部に現在の日時を表示(毎分更新)
  • 今日の曜日列をハイライト表示
  • コースページを訪問するたびに自動でキャッシュを更新

自動更新

  • バックグラウンドでコースを1つずつ(1秒間隔)巡回し、課題データをキャッシュ
  • 更新間隔:1時間 / 3時間 / 6時間 / 9時間 / 12時間から選択
  • ポップアップの「今すぐ更新」ボタンで手動更新も可能(自動更新オフでも利用可)
  • ポップアップで進捗をリアルタイム確認(N / M コース完了)
  • 更新が中断して「更新中」のまま止まった場合はポップアップの「リセット」ボタンで解除可能

セットアップ

  1. ポップアップを開き「WebClass URL」欄に自分の大学の WebClass URL を入力して保存
  2. 権限の許可ダイアログが表示されたら「許可」を選択
  3. コース一覧ページを開くと課題情報の収集が始まります

注意: 自動更新・手動更新でコース一覧の課題情報を取得するには、事前にコース一覧ページを一度開いてコース URL をキャッシュする必要があります。

インストール(開発版)

git clone https://github.com/liquidcatmofu/better-webclass.git
cd better-webclass
npm install
npm run build:all   # Chrome(dist/)と Firefox(dist-firefox/)を同時ビルド

Chrome

  1. chrome://extensions を開く
  2. 右上の「デベロッパーモード」を有効にする
  3. 「パッケージ化されていない拡張機能を読み込む」をクリック
  4. dist/ フォルダを選択

Firefox

  1. about:debugging#/runtime/this-firefox を開く
  2. 「一時的なアドオンを読み込む」をクリック
  3. dist-firefox/manifest.json を選択

開発

npm run dev            # Chrome ウォッチモード
npm run dev:firefox    # Firefox ウォッチモード
npm run build          # Chrome プロダクションビルド(dist/)
npm run build:firefox  # Firefox プロダクションビルド(dist-firefox/)
npm run build:all      # Chrome + Firefox 同時ビルド
npm run type-check     # TypeScript 型チェック

リリース手順

バージョン番号は package.json のみで管理します。ビルド時に manifest.json へ自動反映されるため、マニフェストを直接編集する必要はありません。

# 1. バージョンを上げる(patch / minor / major)
npm version minor   # 例: 0.2.0 → 0.3.0

# 2. タグを push する(GitHub Actions が自動でリリース)
git push origin main --tags

タグ(v*.*.* 形式)を push すると CI が次の処理を自動実行します:

  1. 型チェック(npm run type-check
  2. Chrome / Firefox ビルド + zip 生成(npm run release
  3. GitHub Releases を作成し zip をアップロード

技術スタック

About

WebClass の利便性を向上させる Chrome 拡張機能

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors