WebClass(大学向け LMS)の利便性を向上させる Chrome / Firefox 拡張機能です。
- 資料閲覧ページに ↓ DL / ↓ 科目名DL ボタンを追加し、正しいファイル名でダウンロード可能に
- 添付資料リンク(PDF・テキスト等)をクリックすると直接ダウンロード(ポップアップウィンドウを開かずに取得)
- 課題・メッセージの PDF をモーダルで表示
- テーブルの交互着色
- フローティングの「トップへ戻る」ボタン
- コンテンツグループの折りたたみ/展開(アイテム数・期限バッジを表示)
- 課題・レポート・自習の締め切りまでの残日数をバッジで表示(今日中 / 明日まで / あとN日 / 期限切れ / 提出済)
- 残り時間を時間・分単位で表示
- 成績集計ページ(
/scores)から提出状況を取得し、未採点(*[N])も含め正確に判定 - 種別が「資料」の項目は対象外
- 時間割・コース一覧に未提出件数と最短締切をリアルタイム表示
- 時間割表の上部に現在の日時を表示(毎分更新)
- 今日の曜日列をハイライト表示
- コースページを訪問するたびに自動でキャッシュを更新
- バックグラウンドでコースを1つずつ(1秒間隔)巡回し、課題データをキャッシュ
- 更新間隔:1時間 / 3時間 / 6時間 / 9時間 / 12時間から選択
- ポップアップの「今すぐ更新」ボタンで手動更新も可能(自動更新オフでも利用可)
- ポップアップで進捗をリアルタイム確認(N / M コース完了)
- 更新が中断して「更新中」のまま止まった場合はポップアップの「リセット」ボタンで解除可能
- ポップアップを開き「WebClass URL」欄に自分の大学の WebClass URL を入力して保存
- 権限の許可ダイアログが表示されたら「許可」を選択
- コース一覧ページを開くと課題情報の収集が始まります
注意: 自動更新・手動更新でコース一覧の課題情報を取得するには、事前にコース一覧ページを一度開いてコース 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://extensionsを開く- 右上の「デベロッパーモード」を有効にする
- 「パッケージ化されていない拡張機能を読み込む」をクリック
dist/フォルダを選択
about:debugging#/runtime/this-firefoxを開く- 「一時的なアドオンを読み込む」をクリック
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 が次の処理を自動実行します:
- 型チェック(
npm run type-check) - Chrome / Firefox ビルド + zip 生成(
npm run release) - GitHub Releases を作成し zip をアップロード
- TypeScript + Vite 8
- vite-plugin-web-extension
- Chrome / Firefox Manifest V3