Skip to content

Instantly share code, notes, and snippets.

View mchristie's full-sized avatar

Malcolm Christie mchristie

View GitHub Profile
@mchristie
mchristie / gist:a8dc304c67d7ce136057
Last active August 29, 2015 14:15
GeckoForm JSON POST example
<?
// Build an array of the information you need to include in the request
$intended_parameters = [
'include' => 'pages,pages.fields,workflows,conditions,fields:all,fields.option',
'name' => 'Example form update',
'workflows' => [
// Omitted
],
'pages' => [
@mchristie
mchristie / gist:43c5d5680a7da6d3980d
Created February 13, 2015 10:41
GeckoForm URL encoded parameters example
<?
// Build an array of the information you need to include in the request
$intended_parameters = [
'per_page' => '15',
'page' => '1',
'form_id' => '4007',
'keyword' => 'search terms',
'include' => 'labels:all,assigned,user,contact',
];
@mchristie
mchristie / css_resources.md
Last active August 29, 2015 14:11 — forked from jookyboi/css_resources.md
CSS libraries and guides to bring some order to the chaos.

Libraries

  • 960 Grid System - An effort to streamline web development workflow by providing commonly used dimensions, based on a width of 960 pixels. There are two variants: 12 and 16 columns, which can be used separately or in tandem.
  • Compass - Open source CSS Authoring Framework.
  • Bootstrap - Sleek, intuitive, and powerful mobile first front-end framework for faster and easier web development.
  • Font Awesome - The iconic font designed for Bootstrap.
  • Zurb Foundation - Framework for writing responsive web sites.
  • SASS - CSS extension language which allows variables, mixins and rules nesting.
  • Skeleton - Boilerplate for responsive, mobile-friendly development.

Guides

@mchristie
mchristie / javascript_resources.md
Last active August 29, 2015 14:11 — forked from jookyboi/javascript_resources.md
Here are a set of libraries, plugins and guides which may be useful to your Javascript coding.

Libraries

  • jQuery - The de-facto library for the modern age. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers.
  • Backbone - Backbone.js gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing API over a RESTful JSON interface.
  • AngularJS - Conventions based MVC framework for HTML5 apps.
  • Underscore - Underscore is a utility-belt library for JavaScript that provides a lot of the functional programming support that you would expect in Prototype.js (or Ruby), but without extending any of the built-in JavaScript objects.
  • lawnchair - Key/value store adapter for indexdb, localStorage
@mchristie
mchristie / 0_reuse_code.js
Last active August 29, 2015 14:11
Here are some things you can do with Gists in GistBox.
// Use Gists to store code you would like to remember later on
console.log(window); // log the "window" object to the console
/*
* Forked from https://gist.github.com/phoboslab/3773386
* By Malcolm Christie, http://www.malcolmchristie.co.uk/
*
* Usage
*
* Create an instance if ig.TouchButtonCollection as usual
*
* this.buttons = new ig.TouchButtonCollection([
* new ig.TouchButton( 'left', {left: 0, bottom: 0}, 128, 128, this.buttonImage, 0 ),
function timeout_warning()
{
$('#location_feedback').html('<p>Hmmm, this is taking a while, maybe your browser doesn\'t support geolocation?<br /><br /><a href="/browse" class="button">Browse towns</a> &nbsp; <a href="/" class="button">Search</a></p>');
$('#location_feedback').attr('class', 'warning');
}
var timer = setTimeout("timeout_warning()", 10000);
if (navigator.geolocation) {
ui.changePage = function(url, isBack)
{
if (ui.clickPrevent) return false;
ui.clickPrevent = true;
setTimeout(function(){ ui.clickPrevent = false;}, 1000);
try {
if(device.platform.indexOf('iPhone') !== -1 || device.platform.indexOf('iPad') !== -1){
window.plugins.googleAnalyticsPlugin.trackPageview('/' + url);
}else{
z.returnCollectionsMapAnnotations = function(args) {
var data = [];
var collections = args.collections;
// Make sure these will be higher / lower than any actual lat / lngs
max_lat = -999;
max_lng = -999;
min_lat = 9999;
min_lng = 9999;