Skip to content

Instantly share code, notes, and snippets.

View jsteenkamp's full-sized avatar

Johan Steenkamp jsteenkamp

View GitHub Profile
@jsteenkamp
jsteenkamp / codepen-save
Created January 26, 2015 19:35
JSON object saved by CodePen
{
pen: {
"defaultAJAXTimeout": 10000,
"failedRequestMsg": "Unable to reach CodePen.io. Please contact support@codepen.io",
"auto_run": true,
"checksum": 1415964482,
"created_at": "2015-01-26T19:05:43Z",
"css": "",
"css_external": "",
"css_pre_processor": "none",
@jsteenkamp
jsteenkamp / osx-dsclean
Last active August 29, 2015 14:20
OSX bash function and alias to remove hidden directories from zip files
$ nano ~/.bash_rc
function dsclean() {
if [ -f $1 ]
then
echo "Delete __MACOSX folder from $1"
zip -d "$1" __MACOSX*
echo "Delete all .DS_Store folders from $1"
zip -d "$1" \*.DS_Store
fi
@jsteenkamp
jsteenkamp / app.js
Last active August 29, 2015 14:20
Angular 1.x Component Architecture Application using JSPM for ES6 and importing CSS and HTML
'use strict';
// vendor modules
import angular from 'angular';
import 'angular-touch';
import 'angular-animate';
import 'angular-aria';
import 'angular-ui-router';
// app modules
@jsteenkamp
jsteenkamp / prototype
Last active August 29, 2015 14:21
JavaScript new vs Object.create( ... )
*** see http://www.quora.com/What-are-some-advanced-JavaScript-techniques-that-you-dont-see-often-but-should ***
*** Don't do this ***
function MyClass() {}
MyClass.prototype.method1 = function () { ... };
MyClass.prototype.method2 = function () { ... };
// ...
MyClass.prototype.methodN = function () { ... };
@jsteenkamp
jsteenkamp / detached
Last active August 29, 2015 14:21
Detached DOM nodes
// create an element to attach to document
var d = document.createElement('div');
// take heap snapshot and filter on 'detached' will show the above node
// now attach element to document
document.body.appendChild(d);
// take heap snapshot and the detached node is no longer listed
// you can look at diff between two snapshots and see it has been added to HTMLBodyElement
@jsteenkamp
jsteenkamp / factory-beats-class.js
Last active August 29, 2015 14:21
Better to use Prototypal OO and not ES6 class (Angular example)
'use strict';
import _ from 'lodash';
// generate some list items
let items = _.times(10).map((n) => {
return {
title: `This is log item ${n + 1}`,
description: `This is item description ${n + 1}`
/**
* This module is a variant which supports document.write. If you need document.write use this instead
* Author: Deepak Subramanian @subudeepak(https://github.com/subudeepak)
* Distributed under MIT License
*/
/*global angular */
(function (ng) {
'use strict';
app.directive('script', function() {
return {
<cfcomponent name="PostMarkAPI" hint="Send email messages using Postmarkapp.com API">
<cffunction name="sendMail" output="false" access="remote" returntype="struct" returnformat="json" description="Assembles JSON packet and sends it to Postmarkapp">
<cfargument name="mailTo" required="true" type="string" displayname="Recipient" />
<cfargument name="mailFrom" required="true" type="string" displayname="Sender" default="xxx@xxx.com" />
<cfargument name="mailSubject" required="true" type="string" displayname="Subject" default="Testing Postmark" />
<cfargument name="apiKey" required="true" type="string" displayname="API key" default="xxx-xxx-xxx-xxx" />
<!--- optional --->
<cfargument name="mailReply" required="false" type="string" displayname="Reply-To (optional)" />
<cfargument name="mailCc" required="false" type="string" displayname="CC (optional)" />
<cfargument name="mailHTML" required="false" type="string" displayname="HTML body (optional)" />
@jsteenkamp
jsteenkamp / gist:1721864
Created February 2, 2012 06:16
Bootstrap v2 legend with nested columns
<!-- fix legend margin with nested row and row-fluid in bootstrap - https://github.com/twitter/bootstrap/issues/1578 add this:
legend+.row, legend+.row-fluid{margin-top:18px;-webkit-margin-top-collapse:separate;}
-->
<div class="row">
<div class="span12">
<fieldset>
<legend>My Legend</legend>
<div class="row">
<div class="span6">form control group</div>
@jsteenkamp
jsteenkamp / block-scope.js
Last active October 28, 2015 18:35
JavaScript and DOM question
'use strict';
// Solution using ES6 block scope
var list = document.createElement('UL');
for (var i = 1; i <= 5; i++) {
var item = document.createElement('LI');
item.appendChild(document.createTextNode('Item ' + i));