Skip to content

Instantly share code, notes, and snippets.


Klemens Gordon k9ordon

View GitHub Profile
njbotkin /
Last active Dec 19, 2019
Trigger SPA reloads without server polling with Cloudflare Workers

How it works:

  1. On app deploy, autoincrement Cloudflare KV value
  2. Cloudflare Worker adds a "version" cookie to every Response with the content from the KV
  3. Client checks cookies periodically to see if the "version" cookie has changed. If so, reload page
mcevskb / trakt-remove-history.js
Last active Jul 8, 2021 — forked from hugoboos/trakt-remove-history.js
Remove duplicate episodes from Trakt
View trakt-remove-history.js
// Run in console on the history page (<username>/history)
// Will remove all the duplicate episodes, on that page, from the watched history.
var episodesRemoved = []
// episodeItems = $("[data-type=episode]")
var $this = $(this);
var episodeId = $'episode-id')
var showId = $'show-id')
Daniel-Hug / delegate-event.js
Last active Sep 14, 2020
Vanilla JS equivalent of jQuery's .live(): use event delegation to handle events whose target matches a selector, closest(): get nearest parent element matching selector
View delegate-event.js
// get nearest parent element matching selector
var closest = (function() {
var el = HTMLElement.prototype;
var matches = el.matches || el.webkitMatchesSelector || el.mozMatchesSelector || el.msMatchesSelector;
return function closest(el, selector) {
return, selector) ? el : closest(el.parentElement, selector);
datchley / es6-eventemitter.js
Last active Jun 7, 2021
A straight forward EventEmitter implemented in Javascript using ES6
View es6-eventemitter.js
let isFunction = function(obj) {
return typeof obj == 'function' || false;
class EventEmitter {
constructor() {
this.listeners = new Map();
addListener(label, callback) {
this.listeners.has(label) || this.listeners.set(label, []);
Couto / webpack.js
Last active Nov 11, 2020
Fetch polyfill with webpack
View webpack.js
var webpack = require('webpack');
var HtmlWebpackPlugin = require('html-webpack-plugin');
var path = require('path');
var folders = {
APP: path.resolve(__dirname, '../app'),
BUILD: path.resolve(__dirname, '../build'),
BOWER: path.resolve(__dirname, '../bower_components'),
NPM: path.resolve(__dirname, '../node_modules')
PatrickJS / factory-shared.es5.js
Last active Apr 19, 2018
Different examples of OOP "class" with "inheritance" done using JavaScript including languages that transpile into js. Take notice to the amount of boilerplate that's needed in ES5 compared to ES6. These examples all have the same interface with pros/cons for each pattern. If they seem similar that's whole point especially the difference between…
View factory-shared.es5.js
var EventEmitter = require('events').EventEmitter;
var _ = require('lodash');
// Factory shared
var makePerson = function() {
var person = {};;
person.wallet = 0;
_.extend(person, personMethods)
return person;
seriema / README
Last active Aug 29, 2015 — forked from rwest/README
These two files should help you to import passwords from mac OS X keychains to 1password.
1) You have some experience with scripting/are a power-user. These scripts worked for me
but they haven't been extensively tested and if they don't work, you're on your own!
Please read this whole document before starting this process. If any of it seems
incomprehensible/frightening/over your head please do not use these scripts. You will
probably do something Very Bad and I wouldn't want that.
2) You have ruby 1.9.2 installed on your machine. This comes as standard with Lion, previous
versions of OS X may have earlier versions of ruby, which *may* work, but then again, they
monocle / gapi.js
Last active Aug 29, 2015
An Ember object to send Google Drive API requests
View gapi.js
// Created this object to facilitate an Ember Data Adapter
// Usage:
g = Gapi.create();
// create a file with just meta data (no content)
g.insert({ title: 'first' });
// create a file with content
g.insert({ title: 'second', content: 'second content'});
TomByrne / MultiExporter.jsx
Last active Sep 21, 2021
An Illustrator script for exporting layers and/or artboards into separate files (PNG8 / PNG24 / EPS / PDF / SVG / JPG / FXG).See
View MultiExporter.jsx
// MultiExporter.jsx
// Version 0.1
// Version 0.2 Adds PNG and EPS exports
// Version 0.3 Adds support for exporting at different resolutions
// Version 0.4 Adds support for SVG, changed EPS behaviour to minimise output filesize
// Version 0.5 Fixed cropping issues
// Version 0.6 Added inner padding mode to prevent circular bounds clipping
// Copyright 2013 Tom Byrne
// Comments or suggestions to