Skip to content

Instantly share code, notes, and snippets.

View jamischarles's full-sized avatar

Jamis Charles jamischarles

View GitHub Profile
#!/bin/bash
#Inspired by http://blog.neutrino.es/2012/git-copy-a-file-or-directory-from-another-repository-preserving-history/
#Copy a file or directory out of a git repository, preserving history!
#Creates DESTINATIONPATH with patches that can be applied with git am
#e.g.
#0001-Add-new-theme-Gum.patch
#0002-Add-syntax-highlighting-for-Gum-theme.patch
#0003-Gum-Fix-tag-URLs-not-being-slugified-and-therefore-b.patch
#0004-Gum-Add-Disqus-support.patch
#0005-Gum-Use-article-title-as-the-title-of-the-generated-.patch
@jamischarles
jamischarles / git_commands.sh
Last active March 14, 2019 13:07
Git cheat sheet
- my normal flow?
- good commit messages ******
- searching commit messages (group by keywords)
- searching code *
- working with history (viewing, time traveling)
- rebasing (for pulling & squashing, splitting a commit) *
- undoing local commits (soft, hard reset)
- forgot to add / change message (amend)
- LOST commits? *
@jamischarles
jamischarles / css_center.css
Created February 4, 2015 21:29
CSS: Center horizontally and vertically
/* Supported IE8+ */
.el {
display: table-row;
width: 100%;
}
@jamischarles
jamischarles / clearfix.css
Created October 10, 2012 20:01
Modern clearfix
/* (taken from bootstrap github conversation) */
/* Utility classes */
/* Clearfix */
/* Clearfix for modern browsers */
.cf:before,
.cf:after {
content: "";
display: table;
@jamischarles
jamischarles / sublime_shortcuts.markdown
Created October 10, 2012 19:17
Most useful Sublime Shortcuts

Usefulness is indicated by amount of stars.

All are currently Mac only

Expand selection to tag **

Shift + Cmd + A

Wrap selection with tag **

Ctrl + Shift + W

@jamischarles
jamischarles / nodejs_express_file-structure.markdown
Created July 17, 2012 20:35
Node.js file structure with express

consider making a node-guides site like rails guides?

Approach 1:

TJ HollowayChuck (creator of Express)

"personally I find large rails-style structure difficult to work with for large applications (great for small ones however). A more modular approach like Drupal is a big win as far as management goes but it can complicate some things (layout templates) so you kind of need

@jamischarles
jamischarles / functions.php
Created April 25, 2012 11:34
Display links to WordPress blog posts on non-WP pages using the WordPress API.
//add this code at the end of "functions.php" (Theme Functions). This can be accessed through the WP admin menu under Appearance -> Editor -> Theme Functions
//this is the logic to get the posts you want
function displayHomePosts(){
//default values obj from post.php.
//pass these in as args that you really want
$defaults = array(
'numberposts' => 5, 'offset' => 0,
'category' => 0, 'orderby' => 'post_date',
@jamischarles
jamischarles / sanitize_json.js
Created June 25, 2011 17:12
JavaScript: Sanitize JSON string before saving, so it can be read again. (Escapes newlines etc)
function sanitizeJSON(unsanitized){
return unsanitized.replace(/\\/g, "\\\\").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/\t/g, "\\t").replace(/\f/g, "\\f").replace(/"/g,"\\\"").replace(/'/g,"\\\'").replace(/\&/g, "\\&");
}
@jamischarles
jamischarles / anonymous_function.js
Created June 19, 2011 12:20
Self invoking anonymous function
//of this will execute privately without exposing the variables to the global object and without polluting the global namespace.
(function(){
console.log("runs");
function test(){
//console
console.log("test");
}
@jamischarles
jamischarles / inject_script_node.js
Created June 19, 2011 12:12
Non blockin JS script node insertion with a callback
var headID = document.getElementsByTagName("head")[0];
//create new script
var newScript = document.createElement('script');
newScript.type = 'text/javascript';
//add callback
newScript.onload = function(){ alert("loaded");};
newScript.src = 'http://yui.yahooapis.com/3.2.0/build/yui/yui-min.js';