Skip to content

Instantly share code, notes, and snippets.

Avatar

Robert Hurst RobertWHurst

  • Vancouver, BC, Canada
View GitHub Profile
@RobertWHurst
RobertWHurst / index.js
Created Jun 20, 2020
Convert ttf fonts to woff and woff2
View index.js
const ttf2woff = require('ttf2woff')
const ttf2woff2 = require('ttf2woff')
const fs = require('fs')
const path = require('path')
const dir = fs.readdirSync('./')
for (const file of dir) {
const ext = path.extname(file)
if (ext !== '.woff' && ext !== '.woff2') {
@RobertWHurst
RobertWHurst / toy-rust-emitter.rs
Created Jan 17, 2017
Just messing around with Rust
View toy-rust-emitter.rs
use std::collections::HashMap;
struct Emitter<'a, T> {
handlers: HashMap<&'static str, Vec<Box<Fn(T) + 'a>>>,
}
impl<'a, T> Emitter<'a, T> where
T: Clone {
pub fn new() -> Emitter<'a, T> {
@RobertWHurst
RobertWHurst / recover-files.js
Created Dec 3, 2015
Recover files by extension from a directory
View recover-files.js
var fs = require('fs');
var path = require('path');
var mkdirp = require('mkdirp');
var rimraf = require('rimraf');
var through = require('through2');
var SOURCE_PATH = '/media/roberthurst/CE543276543260FF';
var DEST_PATH = '/media/roberthurst/478FC40638130E7A/recovered-files';
var MANIFEST_FILE = '/media/roberthurst/478FC40638130E7A/recovered-files.txt';
@RobertWHurst
RobertWHurst / mongoose-soft-remove.js
Created Aug 14, 2015
Mongoose Soft Remove Plugin
View mongoose-soft-remove.js
var Model = require('mongoose').Model;
function softRemove(schema) {
if (!schema.path('isRemoved')) {
schema.add({ isRemoved : { type: Boolean, index: true, default: false } });
}
if (!schema.path('removedAt')) {
View keybase.md

Keybase proof

I hereby claim:

  • I am RobertWHurst on github.
  • I am roberthurst (https://keybase.io/roberthurst) on keybase.
  • I have a public key whose fingerprint is 3361 7376 33B4 EF4C B635 7BA5 1E39 A3EE D59E 2E6F

To claim this, I am signing this object:

@RobertWHurst
RobertWHurst / less2styl.js
Created Jun 1, 2013
Convert less to stylus files. Note that less scoping will not work in stylus as stylus does not have scoping.
View less2styl.js
var fs = require('fs');
function less2stylus(source, mixinNames) {
return source
// @var => $var
.replace(/@([a-zA-Z0-9-_]+)[\s\t]*(:?)[\s\t]*/g, function(str, key, sep) {
// do not convert import or media keywords
if(['import', 'media'].indexOf(key) > -1) { return str; }
@RobertWHurst
RobertWHurst / cookie.js
Created Dec 18, 2012
A simple function for getting and setting cookies. If false is set as a cookie's value, the cookie will be deleted.
View cookie.js
View Spring.js
(function(factory) {
if(typeof define === 'function' && define.amd) {
define(factory);
} else {
window.SpringJS = factory();
window.s = window.SpringJS;
}
})(function() {