1
0
Fork 0
TheBigWarehouse/BigBoxOfJavascript.md

94 lines
6.8 KiB
Markdown

# The Big Box of Javascript
## Polyfills
- [Fake IndexedDB](https://github.com/dumbmatter/fakeIndexedDB) - A pure JS in-memory implementation of the IndexedDB API
## Net
- [jsRequest](https://github.com/danilo-valente/jsRequest) - Fast and easy asynchronous JavaScript files loading.
- [frameSync](https://github.com/activenode/frameSync) - Synchonise ultiple different browser windows that are displaying content from the same domain
- [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.
## 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
- [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).
- [Olly.js](https://github.com/abeisgreat/Olly.js) - Rich snippets engine
- [Jets.js](http://nexts.github.io/Jets.js/) - A superfast native CSS client side search engine. *Much* faster than writing a searchfiltering system yourself.
## Saving
- [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.
## Media
- [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.
- [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.
- [Photo Sphere Viewer](http://photo-sphere-viewer.js.org/) - A JS library to display your photo spheres.
## Display
- [ramjet](http://www.rich-harris.co.uk/ramjet/) - Lets you transform one DOM element into another with a smooth transisition
- [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
- [marklib](http://bowlingx.github.io/marklib/) - Highlight any text on a web page.
- [spin.js](http://fgnass.github.io/spin.js/) - Generate your loading spinners dynamically.
- [ItemSlide.js](http://itemslide.github.io/) - A mobile friendly carousel of cards.
### 3D
- [WebGLStudio.js](http://webglstudio.org/) - A seriously interesting looking platform that lets create and / or edit webgl scenes.
## Popup Boxes
- [NanoModal](https://github.com/kylepaulsen/NanoModal) - Display those modals dialogs easily
- [basicContext](https://github.com/electerious/basicContext) - Create custom right click menus easily
- [Headhesive](https://markgoodyear.com/labs/headhesive/) - Create customiseable fixed headers that appear at certain points on a page
- [Ply](http://rubaxa.github.io/Ply/) - Similar to nanoModal. Display modern looking dialog boxes easily, with transition effects too!
## 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
- [Elevator.js](http://tholman.com/elevator.js/) - An awesome script that "solves those awkward scroll to top moments the old fashioned way" :D
- [layzr.js](https://github.com/callmecavs/layzr.js) - A lightweight library that makes lazy loading ridiculously easy
## 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
- [Quill](http://quilljs.com/) - Another rich text editor for the web
- [woofmark](http://bevacqua.github.io/woofmark/) - An ultra themeable html / markdown editor.
- [Dragula](https://github.com/bevacqua/dragula) - Super simple drag & drop
- [Insignia](http://bevacqua.github.io/insignia/) - Easy tag input
- [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 :)
## Parsing and Manipulation
- [DOM lite](https://github.com/litejs/dom-lite) - A small DOM implementation. Does not parse HTML currently.
- [Regexp.escape](https://github.com/jonathantneal/regexp-escape) - Pass this a string and it will return an escaped version for regular expressions.
- [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.
- [Complex.js](https://github.com/infusion/Complex.js) - A complex number manipulation library.
## 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.
## Services and tools
### Services
- [js.org](http://dns.js.org/) - Free subdomains for Javascript projects
### Tools
- [Regexper](http://regexper.com/) - Regular Expression visualiser
- [vorlon.js](http://www.vorlonjs.com/) - Awesome looking remote debugger
- [keyCode Test Page](http://www.asquare.net/javascript/tests/KeyCode.html) - A test page that shows you the keyCode of the keys you press
- [jscompress](http://jscompress.com/) - A simple no-fuss javascript compressor
- [JSON Generator](http://json-generator.com) - Generate complex JSON test data
#### Performance
- [jsPerf](https://jsperf.com/) - JavaScript performance playground. Create tests online to compare different pieces of javascript code.
## References & Tutorials
- [es6-features.org](http://es6-features.org/#SpreadOperator) - An overview of the new features added in EcmaScript 6
- [RGraph HTML5 Canvas Reference](http://www.rgraph.net/reference/index.html) - A good HTML5 canvas reference with examples
- [RegexOne](http://regexone.com/) - A good reguar expression tutorial with practical examples and tests
- [ES6 Modules Tutorial](https://jakearchibald.com/2017/es-modules-in-browsers/) - A good tutorial on ES6 modules.
- [Javascript Scope Quiz](http://madebyknight.com/javascript-scope/) - A small quiz / tutorial to help you understand scope in Javascript