From cd418f513d862e5c7b4b58a06e846fe974b27a05 Mon Sep 17 00:00:00 2001 From: Adrian Bonpin Date: Wed, 19 Aug 2026 02:48:40 +0800 Subject: [PATCH] docs: add README with install instructions for both browsers --- README.md | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..b4e78f7 --- /dev/null +++ b/README.md @@ -0,0 +1,91 @@ +# ISMIS Helper + +A lightweight **[Firefox](https://addons.mozilla.org/)** / **[Chrome](https://chromewebstore.google.com/)** +extension for the USC ISMIS student portal that: + +- Auto-fills and auto-submits your login. +- Auto-accepts the privacy-policy modal. +- Exports a **Study Load PDF** that matches the official layout — bundled **Segoe UI** + fonts, the USC logo, the course table, and the units total. + +One codebase builds for **both browsers** (see [Build](#build)). + +## Features + +- **Saved login profiles** (stored in `browser.storage.local`) — only one enabled at + a time, with a master on/off toggle. +- **One-click Download PDF** button on the Study Load page. +- PDF settings in the popup: + - Truncate long course descriptions to match the official PDF (default on). + - Show/hide `Year Level`, and set a custom Year Level value. +- **Bundled Segoe UI fonts** for a 1:1 look with the official document. +- Builds and packages automatically via Gitea Actions (zips + versioned releases). + +## Install + +> Temporary/development install. For distribution, publish the built zips to +> Firefox AMO and the Chrome Web Store — they are store-ready. + +### Firefox (load temporary add-on) + +1. Build the Firefox variant (or download `ismis-helper-firefox.zip` from CI): + ```bash + node scripts/build.js firefox + ``` + The output is at `dist/ismis-helper-firefox.zip` (unzip it, or use `dist/firefox/` + directly). +2. Open `about:debugging` in Firefox. +3. Click **This Firefox** → **Load Temporary Add-on…**. +4. Select `dist/firefox/manifest.json`. +5. Open `https://ismis.usc.edu.ph` and use the extension. + +### Chrome (load unpacked) + +1. Build the Chrome variant (or download `ismis-helper-chrome.zip` from CI): + ```bash + node scripts/build.js chrome + ``` +2. Unzip `dist/ismis-helper-chrome.zip` (or use `dist/chrome/` directly). +3. Open `chrome://extensions` in Chrome. +4. Enable **Developer mode** (toggle, top-right). +5. Click **Load unpacked** and select the unzipped `dist/chrome` folder. +6. Open `https://ismis.usc.edu.ph` and use the extension. + +> For a persistent install, package and publish via Firefox AMO / Chrome Web Store +> with the same built zips. + +## Build + +Requires **Node.js** (the `build.js` script itself is dependency-free; `npm install` +is only needed to run the tests). + +```bash +npm install # dev deps for tests +npm test # run the test suite +npm run build # build both -> dist/*.zip +node scripts/build.js all # build both explicitly +node scripts/build.js chrome # just chrome +node scripts/build.js all --version 1.3.0 # versioned zips +``` + +**CI (Gitea Actions):** on every push, both zips are built, tests run, and the +zips are uploaded as artifacts. When you push a `v*` tag (e.g. `v1.3.0`), it +additionally creates a **Gitea Release** with both versioned zips attached. + +## Settings + +Open the extension popup to: +- Manage login profiles (add / edit / enable). +- Toggle the master on/off switch. +- Set PDF options: truncate descriptions, show/hide `Year Level`, custom Year Level. + +## Data & privacy + +- Auto-login stores your portal credentials **in plaintext** on your own device. +- This is a personal-use helper for the university portal; use it only with your + own account. + +## Development + +See [`AGENTS.md`](AGENTS.md) for the repository layout, build model, and coding +conventions for this project.