Skip to content

Instantly share code, notes, and snippets.

View keenahn's full-sized avatar
🧙

Keenahn Tiberius Jung keenahn

🧙
View GitHub Profile
@keenahn
keenahn / rotator_builder.js.coffee
Created July 6, 2012 19:21
Simple collection rotator for slideshows, quotes
jQuery ->
# rotate items
rotator_builder = (selector, args) ->
trans_in = args.trans_in || "fadeIn"
trans_out = args.trans_out || "fadeOut"
trans_in_dur = args.trans_in_dur || 1000
trans_out_dur = args.trans_out_dur || 400
show_dur = args.show_dur || 7000
@keenahn
keenahn / rotator_builder.js
Created July 6, 2012 19:23
Simple collection rotator for slideshows, quotes, etc.
(function() {
jQuery(function() {
var looper, rotator_builder;
rotator_builder = function(selector, args) {
var $items, cur, loop_fn, num_items, prev, show_dur, trans_in, trans_in_dur, trans_out, trans_out_dur;
trans_in = args.trans_in || "fadeIn";
trans_out = args.trans_out || "fadeOut";
trans_in_dur = args.trans_in_dur || 1000;
trans_out_dur = args.trans_out_dur || 400;
@keenahn
keenahn / wgets.sh
Created July 8, 2012 06:56
wget a list of files
#!/bin/bash
while read line
do
echo $line
wget $line > /dev/null 2>&1
done < $1
# USAGE: wgets.sh a.txt
# Where a.txt is a list of URLs
# Pretttty simple. TODO: accept redirected input as well
@keenahn
keenahn / youtube_iframe.js.coffee
Created July 18, 2012 22:30
Create a youtube iframe using jQuery
jQuery ->
window.youtube_iframe = (video_id, args) ->
default_options = {
width: 853
height: 480
autoplay: 0
rel: 0
class: "youtube-video"
frameborder: "0"
allowfullscreen: true
@keenahn
keenahn / to_slug.js.coffee
Created July 26, 2012 20:12
String to Slug (coffeescript)
to_slug = (str) ->
str = str.replace(/^\s+|\s+$/g, "").toLowerCase() # trim and force lowercase
from = "àáäâèéëêìíïîòóöôùúüûñç·/_,:;"
to = "aaaaeeeeiiiioooouuuunc------"
for i in [i..from.length]
str = str.replace(new RegExp(from.charAt(i), "g"), to.charAt(i))
# remove accents, swap ñ for n, etc
str = str.replace(/[^a-z0-9 -]/g, "").replace(/\s+/g, "-").replace(/-+/g, "-")
# remove invalid chars, collapse whitespace and replace by -, collapse dashes
return str # unnecessary line, but for clarity
@keenahn
keenahn / image.rb
Created August 16, 2012 23:45
Ruby: Nicedit + Carrierwave for image uploads
class Image < ActiveRecord::Base
attr_accessible :f
mount_uploader :f, ImageUploader
end
@keenahn
keenahn / gist:3412140
Created August 21, 2012 05:30
BASH: grep current and subdirectories, only including rails files
grr(){
grep -iRn "$*" --include=*.{rb,erb,haml,html,css,scss,sass,json,js,coffee} .
}
# Put this in your .bashrc or equivalent
# then use like this:
# $ grr stuff
@keenahn
keenahn / file-upload-validation.js.coffee
Created December 3, 2012 21:29
JS: File upload validation
# Just some examples of how to do file validation with javascript
# IS NOT BULLETPROOF and should be coupled with server side validation
# But, it can help
validate_file = ->
file = @fileInput.files[0]
if "name" of file
name = file.name
else
name = file.fileName
if "size" of file
#
# At CoverHound, we use conditional validations all over the form. However, there is no proper way to do
# this in Rails. Instead, we can provide an array of attributes (validated_fields attribute)
# and ensure they are the only ones to get validated.
#
module ConditionalValidations
attr_accessor :validated_fields
def field_is_required?(field)
@keenahn
keenahn / remove_snipps.sh
Last active August 29, 2015 14:08 — forked from dreadatour/gist:7475747
Remove all default Sublime Text 3 snippets for Python language
# Sublime Text 3 languages list:
ls -1 /Applications/Sublime\ Text.app/Contents/MacOS/Packages/
# Remove all default Sublime Text 3 snippets for Python language
export ST3_LANG="Python"
mkdir -p ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/$ST3_LANG/
unzip -l /Applications/Sublime\ Text.app/Contents/MacOS/Packages/$ST3_LANG.sublime-package | grep '.sublime-snippet' | awk '{print $4}' | while read f; do touch ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/$ST3_LANG/$f; done
unset ST3_LANG