Skip to content

Soki0909/subject_semester_sorter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Subject Semester Sorter

概要

「Subject Semester Sorter」は、金沢工業大学の学生ポータル(KITナビ)上で、選択した年度・学期の科目情報を抽出して一覧表示するシンプルな Chrome 拡張機能です。拡張は対象ページにコンテンツスクリプトを注入し、ポップアップから操作します。

※この拡張機能は金沢工業大学生しか使う意味がありません。

主な特徴

  • ページ内の科目情報を解析して、選択した年度/学期だけを抽出して表示
  • ポップアップ UI から操作可能(popup.html / popup.js
  • 拡張はページにスクリプトを注入して動作(content.js
  • キーボード操作対応: リスト内の科目は Tab でフォーカスでき、Enter で選択可能(マウス不要で操作できます)

インストール(開発 / 手元で試す)

まずリポジトリをクローンまたはダウンロードします。

PowerShell 例:

# PowerShell 例
git clone https://github.com/Soki0909/subject_semester_sorter
cd subject_semester_sorter
  1. ソースをローカルに配置(既にワークスペース内にある想定)。
  2. Chrome(または Chromium ベースのブラウザ)を開き、拡張機能ページに移動:
    • アドレスバーに chrome://extensions/ を入力して開く。
  3. 右上の「デベロッパーモード」を有効にする。
  4. 「パッケージ化されていない拡張機能を読み込む」ボタンを押し、 プロジェクトのルートフォルダ(subject_semester_sorter が置かれているフォルダ)を選択する。
  5. 正常に読み込まれると拡張のアイコンがツールバーに表示されます。

注意:

  • manifest.jsonhost_permissions に指定したホスト(学生ポータル)でのみコンテンツスクリプトが注入されます。必要に応じて host_permissions を変更してください。

使い方

  1. 学生ポータルの対象ページ(例: KITP00500)を開きます。
  2. 拡張のアイコンをクリックしてポップアップを開きます。
  3. ポップアップの UI から年度・学期を選択(UI の具体的なコントロールは popup.html を参照)。
  4. 抽出ボタンを押すと、ページ内の科目データから該当年度・学期の科目のみを抽出し、ポップアップ内または新しい表示領域に一覧表示します。

補足: 表示された科目リストはキーボードで操作できます。Tab キーで項目へフォーカスし、Enter キーで該当科目を選択(クリック同等)できます。これによりマウス操作が不要になります。

(補足)content.js はページ DOM から必要な情報を取得してメッセージをポップアップに送る役割を果たします。popup.js はポップアップの UI を制御し、ユーザーの選択に応じて content.js にメッセージを送信します。

スクリーンショット

UI イメージ

主要ファイル構成

  • manifest.json — 拡張の設定(権限、content_scripts、action など)
  • content.js — 対象ページに注入されるスクリプト(ページの DOM から科目情報を抽出)
  • popup.html — 拡張のポップアップの HTML
  • popup.js — ポップアップの動作(ユーザー入力処理、コンテンツスクリプトとの通信)

※ 実装やファイル名は将来的に拡張される可能性があります。

開発メモ / カスタマイズポイント

  • ホスト設定: manifest.json 内の host_permissions を編集することで、拡張が動作する対象ドメインを変更できます。
  • スクリプトの権限: 現在は scripting, storage, tabs を要求しています。必要に応じて見直してください。
  • デバッグ: console.logcontent.js / popup.js に追加して DevTools で出力を確認できます。
  • デバッグ: console.logcontent.js / popup.js に追加して DevTools で出力を確認できます。
  • アクセシビリティ: リスト項目に tabindex が設定されており、キーボード操作(Tab / Enter)での利用を想定しています。

よくある問題と対処

  • 拡張がページで動かない場合:
    • 拡張が有効であること、対象ページの URL が manifest.jsonmatches / host_permissions に合致していることを確認してください。
    • デベロッパーツールのコンソールでエラーを確認してください。

プライバシー / セキュリティ

  • この拡張はユーザーのポータルページにアクセスして DOM を解析します。取得したデータはローカルで処理され、外部に送信する実装は含まれていません。

About

Chrome拡張機能:金沢工業大学の学生ポータル(KITナビ)上で、選択した年度・学期の履修科目を一覧表示する

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors