* initial rewrite * remove title * remove from dom on hide * actual command dom show active keep active in view update active index on keypress * global event only shows commandline * impr(dev): showing notifications with unhandled errors * rename functions * handle hover functions handle nesting handle exec attaching handlers once * void promise * no need for async * move font preview to ui * add configkey to command * add function to build single list * add mouse mode clearing preview on hide add config icon * using new function * use fw icon * fix incorrect type * extract logic * add support for input commands * unused error * update single list * chevron icon margin * only focusing when no popups and words are visible * extract condition * better type * remove no icon * only showing when nothing is already visible * commandline lists no longer modify the commandline element dynamically changing which funbox commnands are available modified searching approach showing active settings in single mode again calling before list if needed * ignore keydown on page transition * add other ways to show the commandline * always clearing previews * incorrect icon being used * extract logic * support quick single list mode by starting input with > * fix test words not being focused * showing all if in quick single mode * remove unused code * rename entry to command * remove more unused code * add data- prefix * rename to data-command-id * fix input commands not refocusing words * fix fontsize change not working as intended * set active index to 0 when going back * keeping active command in view * remove console logs * fix quick single mode * move file * add footer events * add option for subgroup override fix issue where commands would get hidden after clearing input field fixed auto scrolling in mouse mode * rename commands to lists * add background after to avoid flashing * getting config key from active subgroup * updating active command after removing hidden class but before animating * fix nasty hover behavior * updating active before animation showing, keeping active after * add keymap event * remove comments * invert if, use return, combine ifs to reduce nesting * add test event * popups events * fix some commands not showing up on a single list * use new animated modal * use regex escaping function from misc * add singlelistdisplay and singlelistdisplaynoicon properties * add more navigation aliases * not adding alias if not needed * rework command filtering * fix active icon not working * add custom hide handlers * fix active command not being kept in view after showing * unused imports * remove commandlinelists imports from other files * delete old file * remove unused file * import commandline dynamically * fix: if skeleton has wrapper, append before building animated modal * using new parameters * save skeleton on ready * rename folder * add util to get async modules * remove empty imports * remove unnecessary code * unnecessary void * catching errors and notifying user * better error message * making sure all the lists are fetched before getting the single command list * add tab navigation |
||
---|---|---|
.github | ||
.husky | ||
.vscode | ||
backend | ||
bin | ||
frontend | ||
shared-types | ||
.dockerignore | ||
.editorconfig | ||
.eslintignore | ||
.eslintrc.json | ||
.gitignore | ||
.npmrc | ||
.nvmrc | ||
.prettierignore | ||
.prettierrc | ||
.release-it-fe.json | ||
.release-it.json | ||
CODE_OF_CONDUCT.md | ||
commitlint.config.js | ||
CONTRIBUTING.md | ||
CONTRIBUTING_ADVANCED.md | ||
CONTRIBUTING_BASIC.md | ||
example.env | ||
LANGUAGES.md | ||
LICENSE | ||
monkeytype.code-workspace | ||
package-lock.json | ||
package.json | ||
QUOTES.md | ||
README.md | ||
SECURITY.md | ||
THEMES.md |
About
Monkeytype is a minimalistic and customizable typing test. It features many test modes, an account system to save your typing speed history, and user-configurable features such as themes, sounds, a smooth caret, and more. Monkeytype attempts to emulate a natural typing experience during a typing test by unobtrusively presenting the text prompts and displaying typed characters in place, providing straightforward, real-time feedback on typos, speed, and accuracy.
Features
- minimalistic design, with optional advertisements and focus mode while typing
- type what you see, see what you type
- live errors, wpm, and accuracy displays
- a variety of test lengths and languages
- punctuation and numbers modes
- quotes
- themes
- smooth caret
- account system
- challenges and just-for-fun test modifiers
- and much more
Discord bot
On the Monkeytype Discord server, we added a Discord bot to auto-assign optional roles based on typing performance and challenge completion. You can find its code over at https://github.com/monkeytypegame/monkeytype-bot.
Bug report or Feature request
If you encounter a bug or have a feature request, send us an email, create an issue, create a discussion thread, or join the Discord server.
Want to Contribute?
Refer to CONTRIBUTING.md.
Code of Conduct
Before contributing to this repository, please read the code of conduct.
Credits
Montydrei for the name suggestion.
Everyone who provided valuable feedback on the original Reddit post for the prototype of this website.
All of the contributors have helped implement various features, add themes, fix bugs, and more.
Support
If you wish to support further development and feel extra awesome, you can donate, become a Patron or buy a t-shirt.