2015-04-20 18:59:24 +00:00
# The Big Box of Javascript
2015-08-24 14:25:54 +00:00
## Polyfills
- [Fake IndexedDB ](https://github.com/dumbmatter/fakeIndexedDB ) - A pure JS in-memory implementation of the IndexedDB API
2015-08-24 14:16:37 +00:00
## Net
- [jsRequest ](https://github.com/danilo-valente/jsRequest ) - Fast and easy asynchronous JavaScript files loading.
2015-09-08 12:17:30 +00:00
- [frameSync ](https://github.com/activenode/frameSync ) - Synchonise ultiple different browser windows that are displaying content from the same domain
2015-11-05 19:02:13 +00:00
- [offline ](http://github.hubspot.com/offline/docs/welcome/ ) - Capture AJAX requests made when the user is offline and send them off when the connection is restored. Also notifies the user that their internet connection has gone down.
- [UpUp ](https://www.talater.com/upup/ ) - Make your website available offline using service workers.
2015-08-24 14:16:37 +00:00
2015-04-20 18:59:24 +00:00
## Searching
- [lunr.js ](http://lunrjs.com/ ) - A lightweight search engine to use
- [Defiant.js ](http://www.defiantjs.com/ ) - Search JSON structures with XPath expressions
- [Awesomplete ](https://leaverou.github.io/awesomplete/ ) - Ultra lightweight autocomplete engine with no dependencies
2015-10-09 09:44:31 +00:00
- [horsey ](http://bevacqua.github.io/horsey/ ) - An alternative autocomplete engine. Doesn't support getting entries from HTML, but does support fetching options asynchronously (i.e. AJAX).
2015-04-20 18:59:24 +00:00
- [Olly.js ](https://github.com/abeisgreat/Olly.js ) - Rich snippets engine
2015-11-05 19:02:13 +00:00
- [Jets.js ](http://nexts.github.io/Jets.js/ ) - A superfast native CSS client side search engine. *Much* faster than writing a searchfiltering system yourself.
2015-04-20 18:59:24 +00:00
2015-06-01 12:39:43 +00:00
## Saving
2015-09-08 13:20:04 +00:00
- [localStorage Bridge ](https://github.com/krasimir/lsbridge ) - A really cool library that lets you send & receive messages via localStorage. Useful to let all the pages a user has open communicate with each other.
2015-05-13 12:35:17 +00:00
2015-05-13 20:02:55 +00:00
## Media
2015-05-13 20:03:37 +00:00
- [audiosynth ](http://keithwhor.github.io/audiosynth/ ) - A wonderfully simple (albeit underdocumented) library for synthesising notes from various instruments. Not the most powerful, but easy to use.
2015-11-05 19:02:13 +00:00
- [textgen.js ](https://github.com/mrdoob/texgen.js ) - A procedural texture generator written in pure javascript.
- [Popmotion ](http://popmotion.io/ ) - A 12kb motion / input engine.
- [ClickSpark.js ](http://www.ymc.ch/sandbox/clickspark/demo.html ) - Add particle effects on mouse click.
2015-05-13 20:02:55 +00:00
2015-06-01 12:39:43 +00:00
## Display
2015-06-01 08:03:00 +00:00
- [ramjet ](http://www.rich-harris.co.uk/ramjet/ ) - Lets you transform one DOM element into another with a smooth transisition
2015-06-01 12:39:43 +00:00
- [ifvisible.js ](https://github.com/serkanyersen/ifvisible.js ) - Super simple library to detect if the user is actually looking at your page at a given moment
2015-07-11 15:13:54 +00:00
- [marklib ](http://bowlingx.github.io/marklib/ ) - Highlight any text on a web page.
2015-09-08 16:12:19 +00:00
- [spin.js ](http://fgnass.github.io/spin.js/ ) - Generate your loading spinners dynamically.
2015-09-10 06:36:52 +00:00
- [ItemSlide.js ](http://itemslide.github.io/ ) - A mobile friendly carousel of cards.
2015-06-01 08:03:00 +00:00
2015-08-17 13:21:52 +00:00
### 3D
- [WebGLStudio.js ](http://webglstudio.org/ ) - A seriously interesting looking platform that lets create and / or edit webgl scenes.
2015-05-14 11:20:31 +00:00
## Popup Boxes
- [NanoModal ](https://github.com/kylepaulsen/NanoModal ) - Display those modals dialogs easily
2015-05-21 14:20:03 +00:00
- [basicContext ](https://github.com/electerious/basicContext ) - Create custom right click menus easily
2015-06-01 08:05:10 +00:00
- [Headhesive ](https://markgoodyear.com/labs/headhesive/ ) - Create customiseable fixed headers that appear at certain points on a page
2015-11-05 19:02:13 +00:00
- [Ply ](http://rubaxa.github.io/Ply/ ) - Similar to nanoModal. Display modern looking dialog boxes easily, with transition effects too!
2015-05-14 11:20:31 +00:00
2015-04-20 18:59:24 +00:00
## Progress bars
- [Mprogress.js ](https://lightningtgc.github.io/MProgress.js/ ) - A progress bar based on material design
- [ProgressBar.js ](https://kimmobrunfeldt.github.io/progressbar.js/ ) - Another progress bar library
2015-04-22 17:50:10 +00:00
- [Elevator.js ](http://tholman.com/elevator.js/ ) - An awesome script that "solves those awkward scroll to top moments the old fashioned way" :D
2015-04-20 18:59:24 +00:00
2015-05-10 08:43:56 +00:00
- [layzr.js ](https://github.com/callmecavs/layzr.js ) - A lightweight library that makes lazy loading ridiculously easy
2015-04-20 18:59:24 +00:00
## Input tools
- [Keypress ](https://dmauro.github.io/Keypress/ ) - Simple but powerful keyboard input library
- [Squire ](https://neilj.github.io/Squire/ ) - Turn a simple `<textarea />` into a rich text editor
2015-06-01 12:26:50 +00:00
- [Quill ](http://quilljs.com/ ) - Another rich text editor for the web
2015-11-29 15:31:47 +00:00
- [woofmark ](http://bevacqua.github.io/woofmark/ ) - An ultra themeable html / markdown editor.
2015-04-24 06:19:23 +00:00
- [Dragula ](https://github.com/bevacqua/dragula ) - Super simple drag & drop
2015-05-18 06:39:38 +00:00
- [Insignia ](http://bevacqua.github.io/insignia/ ) - Easy tag input
2015-11-05 19:02:13 +00:00
- [clipboard.js ](http://zenorocha.github.io/clipboard.js/ ) - Finally the simple copy to clipboard library you've been looking for. 2kb - no dependencies, no fuss, no hassle :)
2015-04-20 18:59:24 +00:00
2015-07-24 17:40:38 +00:00
## Parsing and Manipulation
2015-06-01 12:39:43 +00:00
- [DOM lite ](https://github.com/litejs/dom-lite ) - A small DOM implementation. Does not parse HTML currently.
2015-07-11 15:15:21 +00:00
- [Regexp.escape ](https://github.com/jonathantneal/regexp-escape ) - Pass this a string and it will return an escaped version for regular expressions.
2015-07-11 15:18:43 +00:00
- [is.js ](https://github.com/rthor/isjs ) - Check to see if a string is in the format of many common things - e.g. credit card number, date, phone numbe , ISBN number, etc.
2015-07-24 17:40:38 +00:00
- [Complex.js ](https://github.com/infusion/Complex.js ) - A complex number manipulation library.
2015-06-01 12:39:43 +00:00
2015-06-02 10:09:44 +00:00
## Amazing / Really Useful NPM Modules
This section could easily get absolutely huge, so it is limited to a *very* small selection of the best.
- [got ](https://github.com/sindresorhus/got/ ) - A replacement to the famous `request` module. Apparently much lighter and faster. Does not have as many dependencies.
2015-04-20 18:59:24 +00:00
## Services and tools
2015-05-14 10:14:00 +00:00
### Services
2015-04-20 18:59:24 +00:00
- [js.org ](http://dns.js.org/ ) - Free subdomains for Javascript projects
2015-05-14 10:14:00 +00:00
### Tools
2015-04-20 18:59:24 +00:00
- [Regexper ](http://regexper.com/ ) - Regular Expression visualiser
2015-04-27 08:51:10 +00:00
- [Transformy ](https://www.transformy.io/#/app ) - Not _strictly_ javascript, but still awesome. Change the format of a list of things by typing in a simple example of what you want it to look like.
2015-05-01 06:47:08 +00:00
- [vorlon.js ](http://www.vorlonjs.com/ ) - Awesome looking remote debugger
2015-05-14 10:14:00 +00:00
- [keyCode Test Page ](http://www.asquare.net/javascript/tests/KeyCode.html ) - A test page that shows you the keyCode of the keys you press
2015-05-25 19:09:34 +00:00
- [jscompress ](http://jscompress.com/ ) - A simple no-fuss javascript compressor
2015-08-24 14:21:16 +00:00
- [JSON Generator ](http://json-generator.com ) - Generate complex JSON test data
2015-05-14 10:10:50 +00:00
2015-08-24 14:18:53 +00:00
#### Performance
- [jsPerf ](https://jsperf.com/ ) - JavaScript performance playground. Create tests online to compare different pieces of javascript code.
2015-05-20 06:53:18 +00:00
## References & Tutorials
2015-08-24 14:27:28 +00:00
- [es6-features.org ](http://es6-features.org/#SpreadOperator ) - An overview of the new features added in EcmaScript 6
2015-05-14 10:10:50 +00:00
- [RGraph HTML5 Canvas Reference ](http://www.rgraph.net/reference/index.html ) - A good HTML5 canvas reference with examples
2015-05-24 17:47:26 +00:00
- [RegexOne ](http://regexone.com/ ) - A good reguar expression tutorial with practical examples and tests
2015-05-20 07:02:16 +00:00
- [Javascript Scope Quiz ](http://madebyknight.com/javascript-scope/ ) - A small quiz / tutorial to help you understand scope in Javascript