3d64550a7bf02c2e168d655fc4e76089292b5a69
Build and Deploy / deploy (push) Successful in 49s
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
- Update
league_nameandleague_end_dateinwebsite/config.toml - Re-run the scraper with the new league's wiki URL:
python scripts/scrape_tasks.py --url https://oldschool.runescape.wiki/w/<LeagueName>/Tasks - Commit the updated
tasks.json
License
GPL-3.0 — see LICENSE.
Languages
JavaScript
49.2%
CSS
28.9%
HTML
11.7%
Python
10.2%