1
0
Fork 0
TheBigWarehouse/BigBoxOfJavascript.md

6.8 KiB

The Big Box of Javascript

Polyfills

  • Fake IndexedDB - A pure JS in-memory implementation of the IndexedDB API

Net

  • jsRequest - Fast and easy asynchronous JavaScript files loading.
  • frameSync - Synchonise ultiple different browser windows that are displaying content from the same domain
  • offline - 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 - Make your website available offline using service workers.

Searching

  • lunr.js - A lightweight search engine to use
  • Defiant.js - Search JSON structures with XPath expressions
  • Awesomplete - Ultra lightweight autocomplete engine with no dependencies
  • horsey - An alternative autocomplete engine. Doesn't support getting entries from HTML, but does support fetching options asynchronously (i.e. AJAX).
  • Olly.js - Rich snippets engine
  • Jets.js - A superfast native CSS client side search engine. Much faster than writing a searchfiltering system yourself.

Saving

  • localStorage Bridge - 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 - A wonderfully simple (albeit underdocumented) library for synthesising notes from various instruments. Not the most powerful, but easy to use.
  • textgen.js - A procedural texture generator written in pure javascript.
  • Popmotion - A 12kb motion / input engine.
  • ClickSpark.js - Add particle effects on mouse click.
  • Photo Sphere Viewer - A JS library to display your photo spheres.

Display

  • ramjet - Lets you transform one DOM element into another with a smooth transisition
  • ifvisible.js - Super simple library to detect if the user is actually looking at your page at a given moment
  • marklib - Highlight any text on a web page.
  • spin.js - Generate your loading spinners dynamically.
  • ItemSlide.js - A mobile friendly carousel of cards.

3D

  • WebGLStudio.js - A seriously interesting looking platform that lets create and / or edit webgl scenes.

Popup Boxes

  • NanoModal - Display those modals dialogs easily
  • basicContext - Create custom right click menus easily
  • Headhesive - Create customiseable fixed headers that appear at certain points on a page
  • Ply - Similar to nanoModal. Display modern looking dialog boxes easily, with transition effects too!

Progress bars

  • Mprogress.js - A progress bar based on material design

  • ProgressBar.js - Another progress bar library

  • Elevator.js - An awesome script that "solves those awkward scroll to top moments the old fashioned way" :D

  • layzr.js - A lightweight library that makes lazy loading ridiculously easy

Input tools

  • Keypress - Simple but powerful keyboard input library
  • Squire - Turn a simple <textarea /> into a rich text editor
  • Quill - Another rich text editor for the web
  • woofmark - An ultra themeable html / markdown editor.
  • Dragula - Super simple drag & drop
  • Insignia - Easy tag input
  • 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 - A small DOM implementation. Does not parse HTML currently.
  • Regexp.escape - Pass this a string and it will return an escaped version for regular expressions.
  • is.js - 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 - 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 - A replacement to the famous request module. Apparently much lighter and faster. Does not have as many dependencies.

Services and tools

Services

  • js.org - Free subdomains for Javascript projects

Tools

Performance

  • jsPerf - JavaScript performance playground. Create tests online to compare different pieces of javascript code.

References & Tutorials