Skip to content

Instantly share code, notes, and snippets.

View chriswitko's full-sized avatar

Chris Witko chriswitko

View GitHub Profile
@chriswitko
chriswitko / uri.js
Created December 17, 2013 12:50 — forked from jlong/uri.js
var parser = document.createElement('a');
parser.href = "http://example.com:3000/pathname/?search=test#hash";
parser.protocol; // => "http:"
parser.hostname; // => "example.com"
parser.port; // => "3000"
parser.pathname; // => "/pathname/"
parser.search; // => "?search=test"
parser.hash; // => "#hash"
parser.host; // => "example.com:3000"
var SBB = $.inherit({
__constructor : function() { // constructor
console.log('init SBB');
},
getUrlVars: function(){
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
@chriswitko
chriswitko / template.jade
Created November 11, 2014 09:15
Base JADE template
doctype html
html
head
meta(charset='utf-8')
meta(http-equiv='X-UA-Compatible', content='IE=edge')
meta(name='viewport', content='width=device-width, initial-scale=1.0, user-scalable=no')
meta(name='HandheldFriendly', content='true')
meta(name='description', content='')
meta(name='csrf-token', content=_csrf)
meta(name='author', content='')
@chriswitko
chriswitko / app.js
Created November 11, 2014 09:16
NodeJs, ExpressJS init
/**
* Module dependencies.
*/
var express = require('express');
var cookieParser = require('cookie-parser');
var compress = require('compression');
var session = require('express-session');
var bodyParser = require('body-parser');
var logger = require('morgan');
@chriswitko
chriswitko / contact.jade
Created November 11, 2014 09:17
Easy contact form in Jade
extends layout
block content
.container.container-fix
.page-header
h3 Contact Form
form.form-horizontal(role='form', method='POST')
input(type='hidden', name='_csrf', value=_csrf)
.form-group
@import "lib/bootstrap/bootstrap";
@import "lib/font-awesome/font-awesome";
@import "lib/ionicons/ionicons";
@import "lib/bootstrap-social";
@import "themes/shopbyblog";
// Scaffolding
// -------------------------
html {
// Colors
// -------------------------
// Base colors
@color-marker: #E74C3C;
@color-silver: #a8a8a8;
@color-silver-dark: rgb(75, 92, 102);
@color-silver-light: rgb(204, 214, 221);
@color-clouds: #F2F2F2;
@color-clouds-light: rgba(242, 242, 242, 0.8);
var mongoose = require('mongoose');
var bcrypt = require('bcrypt-nodejs');
var crypto = require('crypto');
var monguurl = require('monguurl');
var timestamps = require("mongoose-times")
var mongoosePaginate = require('mongoose-paginate')
var ROLE_USER = 1, ROLE_MODERATOR = 2, ROLE_ADMIN = 3;
var VARIANT_USER = 1, VARIANT_BLOGGER = 2, VARIANT_STORE = 3;
@chriswitko
chriswitko / following.js
Created November 11, 2014 09:21
Simple following schema
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
/*
This document means that the user with numeric id 12345
has been followed by user 54321 since August 21.
The last scan of user 12345, when user 54321 still showed up
in the followers list, happened at 6am on August 23rd.
At 7:50am that day, user 54321 was no longer following 12345.
A document with no “end” field means that the “follower” is still following the “followee”.
@chriswitko
chriswitko / comment.js
Created November 11, 2014 09:22
Comments controller
var _ = require('lodash');
var async = require('async');
var crypto = require('crypto');
var nodemailer = require('nodemailer');
var passport = require('passport');
var secrets = require('../config/secrets');
var moment = require('moment');
var User = require('../models/User');