Have you ever thought about how much frustration you could save if you could just grep all module items in all your canvas courses for the specific item you need, instead of having to navigate 5+ times from your homepage to the module page for your course in question?
Introducing Canvas Fuzzy Finder (CFF).
Simply
- Clone this repository to
~/git
mkdir ~/git
cd ~/git
git clone https://github.com/SpicyRicecaker/canvas-fuzzy-finder- Create a
.envfile inside~/git/canvas-fuzzy-finderthat includesTOKEN (which you can generate by going to settings > new access token on canvas), CANVAS_API_URL (e.g. canvas.youruni.edu/com), COURSE_IDS (comma + space separated integers you can find in the url of your browser), COURSE_NAMES (comma + space separated, corresponding to course ids)
echo "TOKEN=1234~exampleexampleexampleexampleexampleexampleexampleexampleexamplee
CANVAS_API_URL=https://canvas.someuniversity.edu
COURSE_IDS="1234567, 1234567, 1234567, 1234567, 1234567"
COURSE_NAMES="CS 101, CS 101, CS 101, CS 101, CS 101"" > .envI admit this step is convoluted but will improve with future releases
- Run
cargo build --releaseand save the resulting executable intarget/releaseto start menu on windows or a launcher in macos!
cargo build --release
# the executable now in ./target/release/canvas-fuzzy-finderWe currently support 1) Windows and 2) MacOS, and each platform has its own dependencies
winget is a prerequisite as the general package manager. Install via Microsoft Store if you don't have it already.
git is a prerequisite to clone the directory.
Powershell Core (pwsh) is a dependency for UTF-8 output to a file.
fzf is a dependency for interactive fuzzy search.
winget install Git.Git Microsoft.Powershell junegunn.fzf brew is a prerequisite as the general package manager for macos. Install it at https://brew.sh/ if you don't have it already.
fzf is a dependency for interactive fuzzy search.
kitty is a dependency for a fast terminal.
brew install fzf
brew install kitty