Skip to content

Exercism Plus is a small Chrome Extension to add advanced mentoring functionality

License

Notifications You must be signed in to change notification settings

joshgoebel/exercism_plus

Repository files navigation

Exercism Plus Chrome Extension

Exercism Plus is a small Chrome Extension to add additional mentoring functionality to the already amazing Exercism.io service.

This is mostly for mentors, you probably won't get a lot out of it as a student.

Features

  • Thoughtful UI tweaks and subtle design cleanups (less bold everywhere, a bit softer, etc.)
  • Some accessibility and contrast improvements throughout
  • Unread message indicators - never wonder which iteration a student commented on again
  • Inline student profiles to provide context for who you are mentoring
  • Keybindings for common tasks
  • Textual analysis engine - to help prevent common mentoring anti-patterns
  • Pop-out editor - for commenting on lengthy solutions with a lot of code
  • Shows real names in discussions when they are available
  • Fixes the broken Queue track filter to be just a regular HTML <select> element again
  • Add a "Queue" (New solutions) link to the site menu (my workflow is heavy on this and the Notifications view)

Subtle usability improvements

  • Solutions become sticky when scrolling a long discussion - so that you can always see the source (provided it fits in your browsers vertical space)
  • Added double-wide viewing mode that removes max-width and set up a 60/40 split view

Keybindings

  • n Queue (Next solutions)
  • ; Notifications
  • w Toggle double-wide viewing mode for discussions
  • / Toggle the pop-out editor for discussions
  • Adds ⌘B and ⌘I keybindings for Bold and Italic to the editor on Macs

Unread Message Indicators

The first time you visit a solution the message counts will be tracked. On future visits any threads that have new messages will be flagged.

Popout Editor

Inline Student Profiles

Textual Analysis Engine

Textual analysis example

How it works

Your response text is first stripped of code blocks and then analyzed with regular expressions. If a given regular expression matches then the corresponding tip will be shown. Programmatic matchers can also be written that do textual analysis with Javascript rather than regular expression, for more flexibility.

TODO

  • More textual analysis anti-patterns
  • Configurable/custom textual analysis?
  • Configuration page?

Getting the Extension

  • Fetch the whole repository from Git and load the unpacked extension in Developer mode (best if you are planning on contributing) [you'll need to ./build at least once]
  • Download and install the extension.crx file from the GitHub repository
  • Install the extension directly from the Chrome Web Store

Building from source

npm install
npm install -g rollup
./build

The extension files will be in extension and a distributable .crx will be in dist.

Contributing

Please open an issue if you have any idea for contributing. If you mentor and have a common anti-pattern to share, please feel free to open a PR.

License

Exercism Plus is released under the MIT License. See LICENSE file for details.

About

Exercism Plus is a small Chrome Extension to add advanced mentoring functionality

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors 4

  •  
  •  
  •  
  •