Skip to content

Instantly share code, notes, and snippets.

@BriSeven
BriSeven / mustachec
Last active December 28, 2015 20:19
mustachc for doing mustache templating from makefiles and the bash command line. Requires mustache.php and php itself.
#!/usr/bin/env php
<?php
// Command line utility to compile MUSTACHE to STDOUT
// I bastardised this based on lessc by:
// Leaf Corcoran <leafot@gmail.com>, 2012
// which is licensed by MIT/GPL according to his website.
// Additionally, this requires mustache.php to be in the same directory
// Mustache.php can be "compiled" to be in a single file
// following these instructions https://twitter.com/bobthecow/status/319159329578180609
// (quoted below)
@BriSeven
BriSeven / hairlip.js
Last active December 19, 2015 22:29
Hairlip: A very very tiny mustache-like thing.
// Hairlip is
// a very tiny version of mustache that only does variable replacement
// and nothing else.
String.prototype.hairlip = function (o) {
"use strict";
return this.replace(/\{\{([a-zA-Z0-9_\-]*)\}\}/g, function (a, b) {
/*jslint unparam:true*/
return {
string: true,
number: true
@BriSeven
BriSeven / twixel.js
Created November 22, 2012 22:20
The pixtweet source code
(function () {
var base64URLAlphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";
var baseRevMap = {};
var IDCounter = 0;
var pixelratio=1; //let's deal with the retina display bugs.
function ID (){
return IDCounter++;
}
base64URLAlphabet.split("").forEach(function (o, i) {
@BriSeven
BriSeven / glob.js
Created May 15, 2012 08:05
Convert a unix style globbing pattern to a regular expression
//based on fnmatch.py
String.prototype.escape = function () {
"use strict";
var escapable = /[.\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
meta = { // table of character substitutions
'\b': '\\b',
'\t': '\\t',
'\n': '\\n',
@BriSeven
BriSeven / ngram.js
Last active November 21, 2017 00:18
Ngram utils
define("trigrams", ["underscore"], function(U) {
var trigramIndex = {};
var ngramcount = {
sort () {
var keys = U.keys(this.table),
g = this.table,
sorted;
keys = U.filter(keys, function (o) {
return typeof g[o] !== 'string';
});