Skip to content

Instantly share code, notes, and snippets.

@greduan
greduan / initialiseKeys.js
Created May 13, 2015 19:38
recursive func which goes goes through object and finds all .init() funcs and runs them
var initialiseKeys = function initialiseKeys (obj) {
var val
for (var key in obj) {
val = obj[key]
// the key isn't 'init' BUT it's an object we need to explore it
if (key !== 'init' && typeof val === 'object') {
initialiseKeys(val)
// hey the key is 'init' and its value is a function!
} else if (key === 'init' && typeof val === 'function') {
@greduan
greduan / callFuncFromString.js
Created May 13, 2015 21:52
extrapolates a method from an object from string, so 'boop.bap' gets called from the provided context with the provided params
var callFuncFromString = function (funcString, context, params) {
// funcString should be a string like so 'boop.bap', no () at the end
// parameters should be an array of the func's parameters, for .apply()
var layers = funcString.split('.')
layers.forEach(function (val) {
context = context[val]
})
@greduan
greduan / cool-oloo.js
Created July 24, 2015 20:32
What I've been looking for OLOO
var MyClass = {
prototype: {
// prototypal members and methods
},
create: function (options) {
// do stuff with options
return Object.create(MyClass.prototype, options)
},
}
@greduan
greduan / README.md
Last active December 19, 2015 15:39 — forked from balupton/README.md

DocPad: Clean dates in post URLs

Creates URLs like /2012/12/15/merry-xmas.html for your blog posts.

Requires momentjs to be installed: npm install --save moment

@greduan
greduan / Gruntfile.js
Last active December 20, 2015 07:59 — forked from balupton/README.md
Using Grunt with DocPad
module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
// Import package.json file, we get some info from here
pkg: grunt.file.readJSON('package.json'),
// Minify JS into one file
uglify: {
options: {
banner: '/*! <%= pkg.name %> <%= grunt.template.today("dd-mm-yyyy") %> */\n'
@greduan
greduan / CHANGELOG.md
Last active December 28, 2015 01:19
A template for GitHub projects' README file.

Changelog

All notable changes to this project will be documented in this file.

0.0.0 - YYYY-MM-DD

Initial commit, nothing notable here.

VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Aug 24 2013 18:58:47)
Compiled by root@apple.com
Normal version without GUI. Features included (+) or not (-):
-arabic +autocmd -balloon_eval -browse +builtin_terms +byte_offset +cindent
-clientserver -clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments
-conceal +cryptv +cscope +cursorbind +cursorshape +dialog_con +diff +digraphs
-dnd -ebcdic -emacs_tags +eval +ex_extra +extra_search -farsi +file_in_path
+find_in_path +float +folding -footer +fork() -gettext -hangul_input +iconv
+insert_expand +jumplist -keymap -langmap +libcall +linebreak +lispindent
+listcmds +localmap -lua +menu +mksession +modify_fname +mouse -mouseshape
@greduan
greduan / server.js
Last active December 29, 2015 23:29
Node.js static file web server, exports .start()
var connect = require("connect"),
http = require("http");
var start = connect().use(connect.static(__dirname))
http.createServer(start).listen(2882);
console.log("Static file server running at\n => http://localhost:2882/\nCTRL + C to shutdown");
module.exports = start;
@greduan
greduan / nw-bundle.sh
Last active December 30, 2015 13:39
Bundle and open (in OS X) a node-webkit app
#!/bin/sh
zip app.nw ./*
#xdg-open app.nw
#open app.nw