Canvas+ is a free chrome extension that improves the experience of students using Canvas
Canvas+ is a free chrome extension that improves the experience of students using Canvas, with support for the following toggleable features:
- Smart Scrolling
- Search Bar
- Faster Links
- Dark Mode
These can be toggled by clicking the extension popup.
All code has errors, and Canvas+ is no exception. Here's all the known issues and their statuses:
Search not working
Some users' search box still doesn't work after 0.2.1. The culprit? If your search box isn't loading, you most likely have at least one course with modules disabled. Canvas+ assumes that every class has modules enabled, and thus causes an error. If you want to fix this, you can unfavorite any courses with modules disabled, and you'll have to click 'All Courses' to access them. More details here.
Math equations appear black in dark mode
A solution has already been found to this, and is coming in version 0.2.2
Have a different issue?
Be sure to report it in the issues tab and I'll do my best to fix it!
Here's a list of some planned features for the extension, in order of when they're coming:
- Bug Fixes
- Customize link & accent color
- Pin/bookmark pages
- Access zoom links from extension popup
- (Potential) Discussion signature
- (Potential) Automatically export course content for offline viewing
- Dashboard Overhaul
If you want to add any of these, I'll accept your pull request! If you have an idea of your own, I'll probably also merge it, but you might want to check with me. You can contact me (more details on my github profile), or make an issue in this repo, and I'll let you know what I think!
I'm happy to collaborate on this and any pull request will be accepted if they improve the extension. All chrome extensions are coded in JavaScript and google has some great resources to learn more about developing chrome extensions. For now, here's a rundown of what everything does and some useful functions:
manifest.json
The manifest file contains everything necessary for chrome to start the extension. Most should be pretty self-explanatory. If you want to add any sort of color modes and you're getting an error, you want to put a link to any programatically loaded css files in the
web_accessible_resources
array.
popup files
Popup files are the HTML/CSS/JS for the popup shown when you click the extension button.
quicklink.js
This is NOT my code. I barely know how it works, so DO NOT modify it.
background.js
Unsurprisingly, this code is run in the background. Right now its only use is the 'Thank you for installing!' and update popups