Skip to content

Instantly share code, notes, and snippets.

View jacobrask's full-sized avatar

Jacob Rask jacobrask

  • Gothenburg, Sweden
View GitHub Profile
@millermedeiros
millermedeiros / gist:870867
Created March 15, 2011 15:18
JavaScript Chaining Example
//
// Orthodox Chaining
//
//basic Object that implements chaining
var myObj = {
_val : 'lorem',
val : function(val){
if(val === void(0)){
return this._val;
@hackable
hackable / expressjs-base64-image.js
Created October 18, 2011 05:21
Node.js base64 encode a downloaded image for use in data URI
express = require("express")
request = require("request")
BufferList = require("bufferlist").BufferList
app = express.createServer(express.logger(), express.bodyParser())
app.get "/", (req, res) ->
if req.param("url")
url = unescape(req.param("url"))
request
uri: url
encoding: 'binary'
@neilj
neilj / gist:1532562
Created December 29, 2011 07:22
Sugared DOM: Better Than Templates
var el = ( function () {
var doc = document;
var directProperties = {
'class': 'className',
className: 'className',
defaultValue: 'defaultValue',
'for': 'htmlFor',
html: 'innerHTML',
@chriseppstein
chriseppstein / defining_placeholders_once.scss
Created April 17, 2012 15:11
If you have a module with placeholder selectors, this pattern will help you avoid outputting them twice if imported twice.
$module-placeholders-defined: false !default;
@mixin module-placeholders {
@if not $module-placeholders-defined {
$module-placeholders-defined: true;
%module-object { color: red; }
%module-object:hover { color: blue; }
}
}
@include module-placeholders;
@jed
jed / rendering_templates_obsolete.md
Created October 19, 2012 05:07
Rendering templates obsolete

(tl;dr DOM builders like [domo][domo] trump HTML templates on the client.)

Like all web developers, I've used a lot of template engines. Like most, I've also written a few of them, some of which even [fit in a tweet][140].

The first open-source code I ever wrote was also one of the the first template engines for node.js, [a port][node-tmpl] of the mother of all JavaScript template engines, [John Resig][jresig]'s [micro-templates][tmpl]. Of course, these days you can't swing a dead cat without hitting a template engine; one in eight packages on npm ([2,220][npm templates] of 16,226 as of 10/19) involve templates.

John's implementation has since evolved and [lives on in Underscore.js][underscore], which means it's the default choice for templating in Backbone.js. And for a while, it's all I would ever use when building a client-side app.

But I can't really see the value in client-side HTML templates anymore.

@mikaelbr
mikaelbr / destructuring.js
Last active December 16, 2025 21:27
Complete collection of JavaScript destructuring. Runnable demos and slides about the same topic: http://git.mikaelb.net/presentations/bartjs/destructuring
// === Arrays
var [a, b] = [1, 2];
console.log(a, b);
//=> 1 2
// Use from functions, only select from pattern
var foo = () => [1, 2, 3];
@CGaskell
CGaskell / EnumList
Created July 31, 2014 09:48
Sitecore Enum Driven Dropdownlist. Uses [Description] attribute if defined.
using System;
using System.ComponentModel;
using Sitecore.Web.UI.HtmlControls;
namespace DetangledDigital.Sc.FieldTypes
{
/*
*
* @CGaskell
* Custom field type. Renders a dropdown list based on a specified enum.
@BinaryMuse
BinaryMuse / gist:3b0a4ba166ac81840cab
Created November 3, 2014 16:20
Async fetches initiated by the store when necessary
// Component
var AnswerDisplay = React.createClass({
mixins: [FluxMixin, StoreWatchMixin("answer")],
getStateFromFlux() {
var flux = this.getFlux(),
answerStore = flux.store("answer");
return {
@sebmarkbage
sebmarkbage / Enhance.js
Last active June 19, 2025 19:41
Higher-order Components
import { Component } from "React";
export var Enhance = ComposedComponent => class extends Component {
constructor() {
this.state = { data: null };
}
componentDidMount() {
this.setState({ data: 'Hello' });
}
render() {
@Dr-Nikson
Dr-Nikson / README.md
Last active August 20, 2025 02:36
Auth example (react + redux + react-router)