Skip to content

Instantly share code, notes, and snippets.

View anasnakawa's full-sized avatar
💭
I may be slow to respond.

Anas Nakawa anasnakawa

💭
I may be slow to respond.
View GitHub Profile
@anasnakawa
anasnakawa / query-string-parse.js
Created April 1, 2014 17:38
easy parsing for both query strings & hash into a casted object literal
/**
* parse given query string url, and return it as
* object literal with proper type casting for primitives
*
* @param {string} url
* @return {object} queryString
*
* notes:
* - requires jQuery for linear typecasting
* - parameter names are all lowercased
@anasnakawa
anasnakawa / tiny-js-pubsub.js
Last active February 2, 2023 08:14
very tiny Pub/Sub implementation that utilizes native browser event methods. ( only browsers .. no IE8 )
/*! Js Pub/Sub
* http://anasnakawa.com/
* Copyright (c) Anas Nakawa
* inspired by Ben Alman's one <https://gist.github.com/cowboy/661855>
* MIT License
*/
(function( p ) {
var e = p.e = {};
@anasnakawa
anasnakawa / tiniest-wrapper.js
Last active January 4, 2016 00:09
the tiniest module wrapper for CommonJs / AMD and the browser
// Tiniest Module Wrapper - (c) Anas Nakawa - <anas.nakawa {at} gmail.com>
// License: MIT (http://www.opensource.org/licenses/mit-license.php)
(function() {
function myLibrary() {};
// CommonJs / Node
( typeof module !== "undefined" && module.exports && ( module.exports = myLibrary ) ) ||
// AMD / RequireJs
( typeof define !== "undefined" && !define(function() { return myLibrary; }) ) ||
// browser
( typeof window !== "undefined" && ( window.myLibrary = myLibrary ) );
@hemanth
hemanth / Gruntfile.js
Created December 31, 2013 14:13
grunt vs gulp
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
concat: {
options: {
separator: ';'
},
dist: {
src: ['src/**/*.js'],
dest: 'dist/<%= pkg.name %>.js'
@gka
gka / country-names.json
Created November 26, 2013 10:30
Recognized country names
{
"en": {
"AD": "Andorra",
"AE": "United Arab Emirates",
"AF": "Afghanistan",
"AG": "Antigua and Barbuda",
"AI": "Anguilla",
"AL": "Albania",
"AM": "Armenia",
"AN": "Netherlands Antilles",
@anasnakawa
anasnakawa / wrapper.js
Created October 20, 2013 07:17
AMD / CommonJs (NodeJs) / Browser wrapper pattern
// AMD / Common Js / Browser Wrapper pattern
// copyright to [millermedeiros](https://github.com/millermedeiros/js-signals/blob/master/src/wrapper.js)
// ---------------------------------
(function(global){
var libName;
// define your library
//exports to multiple environments
if(typeof define === 'function' && define.amd){ //AMD
@addyosmani
addyosmani / examples.md
Last active February 23, 2016 18:22
Object.observe() examples from my talk

What are we trying to observe? Raw object data.

// Objects
var obj = { id: 2 };
obj.id = 3; // obj == { id: 3 }
 
// Arrays
var arr = ['foo', 'bar'];
arr.splice(1, 1, 'baz'); // arr == ['foo', 'baz'];
@FLasH3r
FLasH3r / clearfix_v1.css
Last active November 23, 2016 12:58
clearfix variations (with original source link)
/*
* source: http://nicolasgallagher.com/micro-clearfix-hack/
*/
.clearfix:before, .clearfix:after { content: " "; display: table; }
.clearfix:after { clear: both; }
.clearfix { *zoom: 1; }
@anasnakawa
anasnakawa / coffeescript-extend.js
Last active December 22, 2015 05:18
OOP in javascript extracted from CoffeeScript
// tiny JavaScript inheritance
// extracted from CoffeeScript
//
// * **param:** {Class} child
// * **param:** {Class} parent
var extends = function( child, parent ) {
for ( var key in parent ) {
if ( {}.hasOwnProperty.call( parent, key ) ) {
child[ key ] = parent[ key ];
}
@anasnakawa
anasnakawa / media-query.scss
Last active December 19, 2015 08:29
generic media query mixin
// ------------------------------
// generic media query mixin
// ------------------------------
// author: Anas Nakawa
// license: MIT
// ------------------------------
// table of content
// ------------------------------
// media-compact-retina (private)
// media-conpact-normal (private)