View User.js
* api/models/User.js
* The user model contains the instance method for validating the password.
var bcrypt = require('bcrypt');
function hashPassword(values, next) {
bcrypt.hash(values.password, 10, function(err, hash) {
View mobileNav.js
mobileNav.js by Matt Jordan.
(function ($) {
$.fn.mobileNav = function (mobileWidth) {
// Create the <select> element
var selectHTML = '<select name="mobileNav" id="mobileNav" style="display:none">',
currentHref = window.location.href,
checkSize = function () {

The Storage API is currently in active development. This guide is a draft for a future version.



Method: GET, POST

Creates new stores & pushes new data to existing stores. Each store's value in the database is an Array of versions. When push is creating a new store, the data is available at index 0. Each additional push will add the new version at index 0.

View license.txt
The MIT License (MIT)
Copyright (c) 2014 Matthew B. Jordan
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
View ful-of.js
View slugify.js
var Return;
function slugify(){
var O =,
t = [],
x = 0,
for (i in O){
if (O.hasOwnProperty(i) && typeof O[i] === "string"){
View listOrArray.js
function listOrArray(Arr) {
var List =, 1),
// If `List` is not empty, assume there are more module objects sent as List Arguments
if (List.length > 0) {
Arr = List;
} else {
// No List args in sight, treat the first arg `Arr` as an array and loop through it.
View read-hash.js
window.onhashchange = doChange;
window.onload = doChange;
function doChange() {
var _hash = window.location.hash.replace("#!", "");
View sprint-tests.js
// ------------ Tests
var s0,
// Ordered Array mode
s0 = sprint("This is %s %s call, using an %s in order", "a", "function", "array");

Using Array.slice can be bad news!

Instead, a simple function to convert the arguments object to an Array can be used:

function argumentsToArray(args, pointer) {
    var arr = new Array(args.length);
    for (var idx = 0; idx < arr.length; idx++) {
        if (!!pointer && (pointer - 1) === idx) continue;
        arr[idx] = args[idx];