ryan.mcgee 94bfe50a20
Build and Deploy / deploy (push) Successful in 44s
Add CPU model option via Transformers.js (WebAssembly, no GPU required)
Uses HuggingFaceTB/SmolLM2-360M-Instruct (~200 MB) via ONNX Runtime
WASM through @huggingface/transformers. Users without WebGPU now see
the CPU option pre-selected in the provider modal rather than an error.
2026-05-26 11:04:26 -05:00
2026-05-26 13:21:23 +00:00

Leagues Task Fixer

A static website for tracking Old School RuneScape Leagues task completion. Built with Zola.

Features

  • 1592 tasks for the Demonic Pacts League, scraped from the OSRS Wiki
  • Filter by difficulty, area, and completion status
  • Search by task name or description
  • Completion status persisted in browser localStorage
  • Live countdown to league end
  • Import task completions from a RuneLite JSON export
  • Export completion state as JSON (compatible with tasks-tracker-plugin format)

Project Structure

OSRS-Task-Fixer/
├── scripts/
│   ├── scrape_tasks.py       # Scrapes task data from the OSRS Wiki
│   └── requirements.txt
└── website/                  # Zola site
    ├── config.toml           # Site config (league name, end date)
    ├── content/
    ├── templates/
    └── static/
        ├── data/tasks.json   # Generated task data (committed)
        ├── css/style.css
        └── js/tracker.js

Development

Prerequisites: Zola and Python 3.10+

# Serve locally with live reload
cd website
zola serve

# Build static output to website/public/
cd website
zola build

Updating Task Data

Re-run the scraper whenever task data changes on the wiki:

pip install -r scripts/requirements.txt
python scripts/scrape_tasks.py

The updated website/static/data/tasks.json can then be committed.

RuneLite Import

Export your task completions from RuneLite using either:

Then click Import RuneLite on the site and select the exported .json file.

Updating for a New League

  1. Update league_name and league_end_date in website/config.toml
  2. Re-run the scraper with the new league's wiki URL:
    python scripts/scrape_tasks.py --url https://oldschool.runescape.wiki/w/<LeagueName>/Tasks
    
  3. Commit the updated tasks.json

License

GPL-3.0 — see LICENSE.

S
Description
No description provided
Readme AGPL-3.0
299 KiB
Languages
JavaScript 49.2%
CSS 28.9%
HTML 11.7%
Python 10.2%