This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<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() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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)) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{# ================================================================== #} | |
{# ================================================================== #} | |
{# Responsive Images | |
{# ================================================================== #} | |
{# ================================================================== #} | |
{# | |
{% import '_macros/img' as macroImg %} | |
Macro to centralize the markup and config for responsive images. | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{% 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 %} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# dry run | |
rsync -navPhz source/folder/ destination/folder/ | |
# the real deal | |
rsync -avPhz source/folder/ destination/folder/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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]++; |
NewerOlder