Skip to content

Instantly share code, notes, and snippets.

View geddski's full-sized avatar

Dave Geddes geddski

View GitHub Profile
@geddski
geddski / multichoice.js
Created April 28, 2016 17:23
workaround for inquirer list type not working in windows
/**
* Abstraction around multichoice questions that works in windows, despite https://github.com/nodejs/node/issues/5384
* Uses arrow keys for non-windows and number selection for windows
*/
var inquirer = require("inquirer");
var isWindows = /^win/.test(process.platform);
module.exports = function(questions) {
if (!isWindows) {
@-webkit-keyframes rotate { from { -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); }
to { -webkit-transform: rotate(360deg); -moz-transform: rotate(360deg); -ms-transform: rotate(360deg); transform: rotate(360deg); } }
*, html, body { -webkit-font-smoothing: antialiased; }
a { color: #39464e; text-decoration: none; }
a:hover { text-decoration: underline; }
input, textarea, select { font-family: "Open Sans", "Helvetica", "Arial", "FreeSans", "Verdana", "Tahoma", "Lucida Sans", "Lucida Sans Unicode", "Luxi Sans", sans-serif; }
@geddski
geddski / joyentdocker
Created April 3, 2015 04:22
fishshell function for using joyent's docker
# Use joyent's configuration for docker in the cloud.
# This makes it easy to toggle between using joyent and using local docker.
# Use your joyent username on line 8
# Use your joyent host if different
function jdocker
set -e DOCKER_TLS_VERIFY
set -gx DOCKER_CERT_PATH ~/.sdc/docker/<YOUR JOYENT USERNAME>
set -gx DOCKER_HOST "tcp://us-east-3b.docker.joyent.com:2376"
docker --tls $argv
component(nav){
part (item){
option(selected){
background: blue;
}
}
}
@geddski
geddski / model.js
Created January 7, 2015 23:54
model.js
/**
* Feedback from real use:
* 1. Need to be able to transform the entire request before it even arrives to the model,
* not just transform each item (but want that too)
* 2. Declaring which fields you want is kinda lame, I wasted time trying to track down
* why the "children" field wasn't showing up.
* 3. Caching most definitely needs to be optional
* 4. transformOut CAN'T modify the original object right? Or the UI will hork? It's safe when using toJSON and fromJSON since those make new objects I think. Will need to add a test for this.
* 5. model.json() and model.rest() APIs seem wonky, should just be combined. Can still make cache separete or make it an option.
*/
@geddski
geddski / styles.less
Last active April 3, 2017 10:09
improve Atom editor git gutter
atom-text-editor::shadow {
.line-numbers{
padding-left: 4px !important;
}
.git-line-modified, .git-line-added{
margin-left: -4px;
padding-left: 2px !important;
opacity: .5
}
@geddski
geddski / template.js
Created October 28, 2014 19:32
simple Angular template loader for webpack
/**
* Import an Angular template.
* Returns the HTML as a string
* Could be chained with a separate loader if you want to populate Angular's template cache
*/
module.exports = function(source) {
var html = "'" + source.replace(/"/g, '\\\"').replace(/\n/g, '\\') + "'";
return "module.exports = \"" + html + "\"";
};
@geddski
geddski / config.fish
Created October 3, 2014 19:42
useful fish config for git
##----GIT------
alias gs='clear ;and git status'
alias gb='git branch'
alias gbranch='git rev-parse --abbrev-ref HEAD' #get current branch name
alias gl="clear ;and git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
alias gt='git tag'
alias grm='git rm'
alias gps='git push'
alias gbi='git bisect'
alias gbg='git bisect good'

Here's the project structure:

project
  |--main/
      config.js
      app.js
  |--subproject/
      app.js
@geddski
geddski / reload.applescript
Last active January 2, 2016 08:39
like live reload only you kick it off when you're ready.
tell application "System Events"
keystroke "s" using command down
end tell
tell application "Google Chrome" to tell the first «class CrTb» of its first window
«event CrSuRlod»
end tell
tell application "Google Chrome" to set «class acTI» of first window to 1