Skip to content

Instantly share code, notes, and snippets.

View alexcarpenter's full-sized avatar
:shipit:

Alex Carpenter alexcarpenter

:shipit:
View GitHub Profile
@alexcarpenter
alexcarpenter / gist:a5ae74ca54f92fbd77c0
Created February 19, 2016 21:45
Console log ID duplicates
var nodes = document.querySelectorAll('[id]');
var ids = {};
var totalNodes = nodes.length;
for(var i=0; i<totalNodes; i++) {
var currentId = nodes[i].id ? nodes[i].id : "undefined";
if(isNaN(ids[currentId])) {
ids[currentId] = 0;
}
ids[currentId]++;
@alexcarpenter
alexcarpenter / command.sh
Created February 25, 2016 16:50 — forked from sponomarev/command.sh
Remove iTerm2 icon from Dock
# remove
/usr/libexec/PlistBuddy -c 'Add :LSUIElement bool true' /Applications/iTerm.app/Contents/Info.plist
# restore
/usr/libexec/PlistBuddy -c 'Delete :LSUIElement' /Applications/iTerm.app/Contents/Info.plist
# dry run
rsync -navPhz source/folder/ destination/folder/
# the real deal
rsync -avPhz source/folder/ destination/folder/
@alexcarpenter
alexcarpenter / gist:32e9f4c1328e63bbe3dd
Created March 24, 2016 02:21
Sass depreciation warning
// warning message is optional
@mixin deprecated($item, $msg: null) {
@if $msg { @warn "DEPRECATION WARNING: #{$item} -- #{$msg}"}
@else { @warn "DEPRECATION WARNING: #{$item}" }
}
.button--login {
@include deprecated(&, 'use "btn" prefix');
color: blue;
}
{% macro sprite(id, viewBox, classes) %}
{% set viewBox = viewBox or "0 0 1 1"%}
<span class='sprite -{{id}} {{classes}}'>
<svg viewBox="{{viewBox}}"><use xlink:href='images/icons.svg#{{id}}' /></use></svg>
</span>
{% endmacro %}
@alexcarpenter
alexcarpenter / functional-utils.js
Created October 5, 2016 20:43 — forked from bendc/functional-utils.js
A set of pure and immutable ES2015 functions aimed to make functional JavaScript more idiomatic.
// array utils
// =================================================================================================
const combine = (...arrays) => [].concat(...arrays);
const compact = arr => arr.filter(Boolean);
const contains = (() => Array.prototype.includes
? (arr, value) => arr.includes(value)
: (arr, value) => arr.some(el => el === value)
class Trunkd {
constructor(container, options = {}) {
this.container = container || '.trunkd';
this.options = {
antecedent: options.antecedent || 'Recommended by:',
consequent: options.consequent || 'others',
seperator: options.seperator || ','
}
const sum = arr => arr.reduce((a, b) => a + b);
@alexcarpenter
alexcarpenter / img.html
Created December 9, 2016 20:00 — forked from brettburwell/img.html
Craft macro to centralize the markup and config for responsive images
{# ================================================================== #}
{# ================================================================== #}
{# Responsive Images
{# ================================================================== #}
{# ================================================================== #}
{#
{% import '_macros/img' as macroImg %}
Macro to centralize the markup and config for responsive images.
import qs from 'qs';
import Axios from 'axios';
Axios.defaults.baseURL = Craft.baseUrl;
Axios.defaults.headers.common['Accept'] = 'application/json';
Axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
Axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
Axios.interceptors.request.use(config => {
if (config.data === Object(config.data)) {
@alexcarpenter
alexcarpenter / index.html
Created September 27, 2017 12:23 — forked from shelldandy/typekit.html
Master Race Typekit Solution by Glen Maddern
<head>
<script>
if (window.localStorage && window.localStorage._tk_cache) {
document.documentElement.classList.add('wf-active');
var script = document.createElement('script');
script.innerHTML = localStorage._tk_cache + ";(function () {var timeout = setTimeout(function () {document.documentElement.classList.remove('wf-active');}, 300); Typekit.load({ async: false, active: function () { clearTimeout(timeout); }});})();";
document.head.appendChild(script);
}
window._tk_onload = function () {
var req = new XMLHttpRequest()