Skip to content

Instantly share code, notes, and snippets.

View tomblanchard's full-sized avatar

Tom Blanchard tomblanchard

View GitHub Profile
@tomblanchard
tomblanchard / code-comments-README.md
Last active August 29, 2015 13:55
Code comments.

This is how I handle my code comments, there are 2 types:

  • Section header (with optional additional comment(s))
  • Regular comment(s)

All comments are limited to 80 characters per line with padding on each horizontal side consisting of two spaces.

@tomblanchard
tomblanchard / array-object-for-loop.js
Last active August 29, 2015 14:01
Array of objects `for` loop with repaint performance in mind, mostly for use in fetching and displaying data from external JSON APIs.
var data = [
{
id: 1,
name: 'One',
image: 'http://image-1.jpg'
},
{
id: 2,
name: 'Two',
image: 'http://image-2.jpg'
@tomblanchard
tomblanchard / native-js-api-pollyfills.js
Created June 9, 2014 18:43
Native JS API pollyfills
/**
`classList` pollyfill:
https://github.com/remy/polyfills/blob/master/classList.js
*/
!function(){function e(a){this.el=a;for(var c=a.className.replace(/^\s+|\s+$/g,"").split(/\s+/),d=0;d<c.length;d++)b.call(this,c[d])}function f(a,b,c){Object.defineProperty?Object.defineProperty(a,b,{get:c}):a.__defineGetter__(b,c)}if(!("undefined"==typeof window.Element||"classList"in document.documentElement)){var a=Array.prototype,b=a.push,c=a.splice,d=a.join;e.prototype={add:function(a){this.contains(a)||(b.call(this,a),this.el.className=this.toString())},contains:function(a){return-1!=this.el.className.indexOf(a)},item:function(a){return this[a]||null},remove:function(a){if(this.contains(a)){for(var b=0;b<this.length&&this[b]!=a;b++);c.call(this,b,1),this.el.className=this.toString()}},toString:function(){return d.call(this," ")},toggle:function(a){return this.contains(a)?this.remove(a):this.add(a),this.contains(a)}},window.DOMTokenList=e,f(Element.prototype,"classList",function(){return new e(this)})}}();
/**

Main Title

I have a utility class such as:

.mb {
  margin-bottom: 20px;
}

Shopify Custom HTML Email

Installation

Images

Start by uploading the contents of the email/img directory to your theme assets folder, you can do this via the admin page by clicking the active theme Edit HTML/CSS button, expanding the Assets folder tree and clicking Add a new asset.

HTML

@tomblanchard
tomblanchard / instagram-feed.html
Created December 6, 2014 21:00
Instagram feed.
<ul class="instagram__items"></ul>
.grid {
margin-left:-24px;
list-style:none;
margin-bottom:0;
}
.grid__item {
display:inline-block;
width:50%;
padding-left:24px;
@tomblanchard
tomblanchard / jquery-doc-ready.js
Last active December 23, 2015 00:09
jQuery document ready.
(function ($, window, document, undefined) { 'use strict'; $(function () {
//
}); })(jQuery, window, document);
@tomblanchard
tomblanchard / responsive-jquery-slideshow.css
Last active December 23, 2015 06:39
Responsive jQuery slideshow.
.slideshow {
margin-bottom:20px;
position:relative;
}
.slideshow__item {
width:100%;
}
.slideshow__item + .slideshow__item {
@tomblanchard
tomblanchard / php-ajax-form.html
Last active December 24, 2015 13:09
PHP AJAX Form
<form class="contact-form" method="post" action="">
<ul class="form-fields">
<li>
<label>Your Name</label>
<input class="text-input" type="text" name="name" required value="TEST NAME">
</li>
<li>
<label>Your Email</label>
<input class="text-input" type="email" name="email" required value="email@email.com">
</li>