Skip to content

Instantly share code, notes, and snippets.

View murtaugh's full-sized avatar
👋

Tim Murtaugh murtaugh

👋
View GitHub Profile
@murtaugh
murtaugh / SVG-thumbnail-redirect
Created December 17, 2015 04:01
ExpressionEngine: use htaccess to redirect requests for SVG thumbnails
RewriteRule /assets_content/(.*)/_thumbs/(.*)\.svg$ /assets_content/$1/$2.svg [NC,L]
@murtaugh
murtaugh / Regexes
Last active December 16, 2015 07:19
Email regex: (supports pluses and dots in username)
/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!\.)){0,61}[a-zA-Z0-9]?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!$)){0,61}[a-zA-Z0-9]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/
URL regex: (validates both with and without http://)
/^((http|https):\/\/)?(www[.])?([a-zA-Z0-9]|-)+([.][a-zA-Z0-9(-|\/|=|?)?]+)+$/
Headers as columns:
<table>
<tr>
<th scope="col">User costs</th>
<th scope="col">Business costs</th>
</tr>
<tr>
<td>What about your product might the user ignore if a form is onerous?</td>
<td>Where will you keep all of this stuff?</td>
</tr>
@murtaugh
murtaugh / sarcastic.html
Created December 23, 2011 20:24
The Sarcastic Font Treatment (inspired by the Sarcastic Font project: http://glennmcanally.com/sarcastic/)
<style>
em.sarcastic {
display: inline-block;
font-style: normal;
-webkit-transform: rotate(-15deg) skew(0, 15deg);
-moz-transform: rotate(-15deg) skew(0, 15deg);
@murtaugh
murtaugh / deprecated-snippets.html
Last active August 29, 2015 14:25
Deprecated ALA Responsive Image Snippets
<figure data-picture data-alt="">
<div data-src="<!-- URL for standard image here -->"></div>
<div data-src="<!-- URL for high-DPI image here -->" data-media="(min-device-pixel-ratio: 2.0)"></div>
<!-- Fallback content for non-JS browsers. Same img src as the initial, unqualified source element. -->
<noscript><img src="<!-- URL for standard image here -->" alt=""></noscript>
</figure>
<figure data-picture data-alt="">
<div data-src="<!-- URL for small-screen image here -->" data-media="(max-width: 700px)"></div>
@murtaugh
murtaugh / new-eecms-mime-type
Last active August 29, 2015 14:15
Update ExpressionEngine's list of MIME types
'svg' => 'image/svg+xml',
@murtaugh
murtaugh / eecms-update-for-ala
Last active August 29, 2015 14:06
A List Apart migration plan
0. Make sure local and dev files are in synch.
1. turn off comments on prod
... by hiding the comment form
2. clear caches on prod
3. turn off local
4. clear caches on local
5. make local copy of prod db
@murtaugh
murtaugh / hide menu,js
Created May 20, 2014 14:51
The right way to close a menu (without preventing event bubbling)
$(document).on('click', function(event) {
if (!$(event.target).closest('#menucontainer').length) {
// Hide the menus.
}
});
@murtaugh
murtaugh / keyboard-controls.js
Last active August 29, 2015 13:57
Keyboard Controls
document.onkeydown = checkKey;
function checkKey(e) {
e = e || window.event;
if ((e.keyCode == '39') || (e.keyCode == '40')) { // right / down arrow
console.log('right / down');
@murtaugh
murtaugh / handle-missing-image.js
Last active August 29, 2015 13:57
If an image fails, what do we do? In my case, maybe I've already defined a backup (usually in the case of inline SVGs), so we should look for that first. If that fails, then we'll hide the image (or do whatever the context requires).
$('img').on('error', function(){
//console.log('img load failure: ' + $(this).attr('src'));
var fallback = $(this).attr('data-fallback');
if (typeof fallback !== 'undefined' && fallback !== false) {
$(this).attr('src', fallback);