No it's not some elite club. It's just a simple set of features, tweaks, and occasional bug fixes that modifies (and hopefully enhances) your MAM experience. Very occasionally it might break your MAM experience, but we try to keep those incidents to a minimum... Nearly every feature can be enabled or disabled separately, and only one is enabled by default, meaning you can stick with a near-Vanilla experience if you so desire.
Don't know what MAM is? This script won't be very useful to you then.
You need to have a userscript browser extension installed in order to use MAM+. Popular browser extensions include:
- Tampermonkey: Recommended for Firefox v57+
- Violentmonkey: Recommended for Chrome
MAM+ only officially supports the most recent versions of Chrome & Firefox, but other modern browsers with userscript support should theoretically work. That said, you'll probably have lots of issues if you use Safari, Firefox offshoots (Waterfox, Basilisk, etc.), or older Edge versions.
In case you want to modify the script and/or contribute to it, follow the below instructions. These instructions are for Chrome using Violentmonkey, as it's the easiest way to test scripts. Additionally, there's some documentation in the Wiki to help you get started with adding new features, so be sure to check that out.
- Node.js
- Google Chrome with Violentmonkey
- tslint (not currently included because vscode has baked-in linting)
- Make sure the prerequisites are installed on your system
- Clone this project to your computer
- Open a terminal window in your project folder, and run
npm install
- On the Chrome extensions page (found at chrome://extensions), ensure that the Violentmonkey extension has access to file URLs
This is a Typescript project, but vanilla JavaScript is valid Typescript, so don't let a lack of knowledge of TS keep you from contributing.
To start developing, simply run npm run build
. Assuming everything works, this will transpile the Typescript files into a single JavaScript file (in the build/
dir) with a userscript header and inline sourcemaps. Additionally, the userscript will have _dev
appended to its name, to differentiate between the developmental version and the release version.
For continuous development, run npm run watch
. This task will otherwise retranspile the script every time you save.
Drag the _dev.user.js
file into Chrome and install with Violentmonkey. When you are using the Watch task, as long as you keep the userscript installation tab open any changes you save will be automatically loaded in your browser when you reload. Occasionally, Violentmonkey will throw an error when the script is being generated via watch
; if this happens, close the script installation page and reinstall the script as previously described.
When you are ready to release your script, use npm version <patch|minor|major>
to increment your script. This will output a minified JavaScript file without the _dev
suffix and will automatically generate a commit & push to the Github repo.
This project uses git flow
so pull requests should not be on the master
branch if possible.