Skip to content

Instantly share code, notes, and snippets.

@benbarnett
benbarnett / doughCollapsableExample.html
Created April 14, 2015 10:45
Using a Dough Collapsable
<!--
The main thing to note here is the data-dough-collapsable-trigger="1" and data-dough-collapsable-target="1"
This is how the trigger and target correspond to each other.
You can set the value to anything you like, it just need to match the trigger and target. We have just used "1" in this example.
-->
<p class="hidden-for-print collapsable__trigger" data-dough-component="Collapsable" data-dough-collapsable-trigger="1">
This is the text for the show/hide trigger link (it will be converted to a link by the Javascript)
</p>
@benbarnett
benbarnett / errors
Created August 8, 2014 15:30
Example Error API Response
{
errors: [
{
inputs: ['user_email'],
error_number: 1,
error_message: "Please provide a valid email address"
},
{
inputs: ['user_password', 'user_password_confirm'],
error_number: 2,
<div class="validation-summary">
<div class="validation-summary__content-container">
<p class="validation-summary__title">Please double-check the form for the following errors</p>
<ol class="validation-summary__list">
<li class="validation-summary__error">
<a href="#interest_rate-errors">Based on 25 year repayment mortgage at: must be a number</a>
</li>
<li class="validation-summary__error">
<a href="#annual_income-errors">Annual income must be a number</a>
@benbarnett
benbarnett / app.js
Created October 15, 2013 11:29
Include cookie sessions
var cookieSessions = require('./modules/cookieSessions');
app.configure(function() {
app.use(express.cookieParser('a9e687e0-a1e0-11e2-9e96-0800200c9a66'));
app.use(cookieSessions('ucheckout'));
});
@benbarnett
benbarnett / cookieSessions.js
Created October 15, 2013 11:28
NodeJS Signed cookies
/**
* Signed session cookies used for persistence
* @param {[type]} name [description]
* @return {[type]} [description]
*/
module.exports = function(name) {
return function(req, res, next) {
req.session = req.signedCookies[name] || {};
@benbarnett
benbarnett / vines.txt
Created May 9, 2013 16:09
Vine's from @ben_cameron
Fun times with @mrnickharvey https://vine.co/v/b29EtOb6nw6
Quick message of thanks to everyone for the Vine feedback https://vine.co/v/b2EHtJTpvYv
Vining for the sake of vining https://vine.co/v/b20lwHiPzHD
The truth about my Vines https://vine.co/v/b20xKdM6Xxm
Tough love (the outtake) https://vine.co/v/b20Up1QvJXX
Tough love https://vine.co/v/b20U7ipjZlA
Bus face https://vine.co/v/b211O6QxnE6
I don't like cheesy poofs https://vine.co/v/bQPBI5x5MdK
I don't like cheesy poofs https://vine.co/v/bQPBibOj17A
Wake up! https://vine.co/v/bQHQAjLMUPi
@benbarnett
benbarnett / preloadimages.js
Created November 30, 2012 16:08
Preload multiple images
function loadImgs(urls, doneCallback) {
var remaining = total = urls.length;
var imgs = [];
function imgLoad(url) {
if (!--remaining) {
doneCallback(imgs);
}
}
@benbarnett
benbarnett / GroupsToPNG.jsx
Created January 17, 2012 15:19
Groups to PNG Photoshop Script
#target photoshop
var sizes = {
'xlarge': [1490, 730],
'large': [1160, 568],
'medium': [890, 436],
'small': [760, 372]
};
@benbarnett
benbarnett / gist:1555873
Created January 3, 2012 17:15
Example friend
<a href="http://twitter.com/benpbarnett" rel="contact">@benpbarnett on Twitter</a>
@benbarnett
benbarnett / jquery-get-enhanced-demo.js
Created March 9, 2011 11:44
demo of jquery get enhanced
var sillyWords = ["incredible", "awesome", "amazing", "fantastic"];
$('button#start').click(function() {
var button = $(this).attr('disabled', 'disabled');
$.get('endpoint/data.html #target', function(data) {
// do something amazing with the data
if (data) {
// fetch word
var word = sillyWords[Math.floor(Math.random() * sillyWords.length)];