# Vendor libraries

Some third party scripts are vendor'ed because they are very old, they are still
being used and/or they are not available on npm.

## List of libraries

- levenshtein.js :
  Library to calculate Levenshtein edit distance/similarity ratio.

  https://github.com/julen/levenshtein.js

- odometer.js :
  Smooth transitions between numbers.

  Using version 0.4.6, with customizations from
  julen/odometer@added-event.

  https://github.com/HubSpot/odometer

- sorttable.js :
  Sorts tables according to its values. Used in the homepage as well as on the
  languages and projects listings. It has some customisations to support
  zebra stripes once the sort is done (using jQuery). The icons used on the
  table headings are custom code too.

  http://www.kryogenix.org/code/browser/sorttable/

- spin.js :
  A spinning activity indicator.

  Version 1.3.2

  http://fgnass.github.io/spin.js/

+ backbone/

  - backbone.js :
    Library for providing structure to web applications.

    Version 1.1.2

    http://backbonejs.org

  - backbone.move.js :
    Small extension script to allow moving the position of a model
    within a collection.

  - backbone-relational.js :
    Relationships for Backbone models.

    Version 0.8.8

    http://backbonerelational.org

  - backbone.safesync.js :
    Prevents duplicated fetches in models and collections.

    https://github.com/amccloud/backbone-safesync

+ jquery/

  - jquery.js :
    The jQuery library, version 2.0.3.

    https://github.com/jquery/jquery

  - jquery.bidi.js :
    jQuery plugin used to automatically set line direction of news
    item based on their content.

    http://plugins.jquery.com/project/bidi

  - jquery.easing.js :
    jQuery plugin that provides dfferent easing (animation) formulas.

    http://gsgd.co.uk/sandbox/jquery/easing/

  - jquery.flot.js :
    Plotting library for jQuery.

    https://github.com/flot/flot/blob/master/jquery.flot.js

  - jquery.flot.marks.js :
    Flot plugin for rendering x-axis marks on plot canvas.

    https://code.google.com/p/flot-marks/

  - jquery.flot.stack.js :
    Flot plugin for stacking data sets rather than overlyaing them.

    https://github.com/flot/flot/blob/master/jquery.flot.stack.js

  - jquery.flot.time.js :
    Flot plugin for pretty handling of time axes.

    https://github.com/flot/flot/blob/master/jquery.flot.time.js

  - jquery.highlighRegex.js :
    Plugin to highlight text on selected elements using regular expressions.

    https://github.com/jbr/jQuery.highlightRegex

  - jquery.history.js :
    Plugin to handle AJAX history using hashes.

    Using patched version to remove `$.browser` calls.

    http://github.com/tkyk/jquery-history-plugin/

  - jquery.magnific-popup.js :
    Lightbox overlay popups to display all sorts of content: images,
    HTML, AJAX data, ...

    Using v0.9.9 built with their 'Build Tool' with the following features:
    Inline, Image, Ajax, Iframe, Gallery, High-DPI.

    http://dimsemenov.com/plugins/magnific-popup/

  - jquery.select2.js :
    jQuery-based replacement for select boxes.

    Using version f235a84aa8 (prior to 3.4) from the master branch.

    https://github.com/ivaynberg/select2/

  - jquery.serializeObject.js :
    A method for serializing forms directly into objects.

    Whereas jQuery’s built-in .serializeArray() method serializes a form
    into an array, .serializeObject() serializes a form into an
    (arguably more useful) object.

    http://benalman.com/projects/jquery-misc-plugins/#serializeobject

  - jquery.tipsy.js :
    Facebook-style tooltips for jQuery.

    Using revision 718b348872 from branch bugfix/remnant-tips @ julen/tipsy fork.

    https://github.com/julen/tipsy

  - jquery.utils.js :
    Custom utilities that extend jQuery's capabilities.
