Skip to content

Instantly share code, notes, and snippets.

View SaneMethod's full-sized avatar

Christopher Keefer SaneMethod

View GitHub Profile
@SaneMethod
SaneMethod / AccTimers.js
Last active December 23, 2015 18:39
(More) accurate timers for javascript.
(function(window){
window.performance = window.performance || {};
performance.now = performance.now || function(){
return +new Date();
};
function AccurateInterval(options){
this.startTime = 0;
this.elapsed = 0;
this.timeout = 0;
@SaneMethod
SaneMethod / ajaxCachePrefilter.js
Last active May 3, 2019 13:01
Ajax prefilter for caching, based on paul irish's work at https://github.com/paulirish/jquery-ajax-localstorage-cache, made to work with jqXHR Deferred Promises when paired with an appropriate ajaxTransport.
/**
* Prefilter for caching ajax calls - adapted from
* https://github.com/paulirish/jquery-ajax-localstorage-cache, made to work with jqXHR Deferred Promises.
* See also $.ajaxTransport.
* New parameters available on the ajax call:
* localCache : true, // required if we want to use the cache functionality
* cacheTTL : 1, // in hours. Optional
* cacheKey : 'post', // optional
* isCacheValid : function // optional - return true for valid, false for invalid
* @method $.ajaxPrefilter
@SaneMethod
SaneMethod / ajaxCacheTransport.js
Last active December 18, 2015 23:29
Ajax transport example for json, for ajax caching.
/**
* This function performs the fetch from cache portion of the functionality needed to cache ajax
* calls and still fulfill the jqXHR Deferred Promise interface.
* See also $.ajaxPrefilter
* @method $.ajaxTransport
* @params options {Object} Options for the ajax call, modified with ajax standard settings
*/
$.ajaxTransport("json", function(options){
if (options.localCache)
{
@SaneMethod
SaneMethod / minify.sh
Created May 28, 2013 19:52
Minify javascript and css using Google closure compiler and closure stylesheets.
#!/bin/sh
#set defaults
ini=build.ini
csspath=../static/css/
jspath=../static/js/
jsout=../static/js/compiled.js
cssout=../static/css/compiled.css
js=
css=
@SaneMethod
SaneMethod / minify.bat
Created May 28, 2013 19:51
CMD batch file for setting up basic minification for javascript and css using Closure Compiler and Closure Stylesheets.
@ECHO OFF
@setlocal enableextensions enabledelayedexpansion
IF "%1"=="--help" GOTO Usage
IF "%1"=="/?" GOTO Usage
REM set defaults
set ini=build.ini
set csspath=../static/css/
set jspath=../static/js/
set jsout=../static/js/compiled.js
@SaneMethod
SaneMethod / jquery.transparentsubmit.js
Created March 1, 2013 19:20
jQuery transparent submission plugin - uses iFrames to allow for an 'ajax-like' submission of a form to some endpoint, and retrieve the json, html or text response offered by that server to said frame.
/**
* jQuery plugin for transparent submission of a form using an $.ajax-like interface.
* Usage Examples:
* $.transparentSubmit({dataType:'json', form:$('#myForm')})
* $('#myForm').transparentSubmit({dataType:'html'})
* Supports Deferred (.done, .fail, .when, etc.)
*/
(function($){
$.transparentSubmit = function(options){
var defer = $.Deferred(), // Deferred object whose promise we will hook into when adding .done, etc to calls