EdBox is an archiver for Ed courses. Save posts and file attachments from Ed and generate static sites for local viewing!
Built with Python and Alpine.js + Tailwind.
- Archives course info and posts to json files
- Downloads file attachments and user profile photos
- Generates an offline, searchable webpage for each archived course
- Webpages display Ed's formatting options and math notations (LaTeX)
- Anonymous usernames are correctly generated (matches what's shown on Ed)
- Color-coded post categories and user profiles
python3 -m venv venv
source ./venv/bin/activate
pip install -r requirements.txtPython version 3.12 recommended
- Generate an Ed API token here.
- Save
ED_API_TOKEN=YOUR_API_TOKEN_HEREto a.envfile (see.env.template). - Run
python3 edbox.pyand choose Ed courses to archive.
If EdBox fails due to network errors or is otherwise interrupted while archiving, restart the program and it will pick up where it left off.
There is no need to manually build or install dev dependencies for the webpage unless you are making changes to it.
- Install development dependencies:
cd web
pnpm install- Add assets downloaded by edbox.py to
web/build/assets. - Build the site using
pnpm run build. This generates theindex.htmlfile and rebuilds theweb/static/tailwind.cssfile. - Open
web/build/index.htmlto view your changes.
