Skip to content

Instantly share code, notes, and snippets.

View machine.js
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions
View machine.js
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions
View machine.js
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions
@simlrh
simlrh / getKeys.ts
Last active Feb 21, 2020
Miscellaneous TypeScript helpers
View getKeys.ts
// Wrapper for Object.keys which sets the correct type
export function getKeys<T>(obj: T): Array<keyof T> {
return Object.keys(obj) as Array<keyof T>;
}
@simlrh
simlrh / composable.ts
Last active Apr 16, 2020
Typescript compose and pipe "infix operators"
View composable.ts
interface Composable<B,C> {
(b: B): C;
I: <D>(f: (c: C) => D) => Composable<B,D>;
o: <A>(f: (a: A) => B) => Composable<A,C>;
}
/*
* Non-type safe internal function - type safety of result is guaranteed by
* allowing creation only through `I` and `o` functions and methods
*/
@simlrh
simlrh / indentation.vim
Created Feb 6, 2017
Indentation functions for vim
View indentation.vim
"------------------------------------------------------------
" Indentation options {{{1
"
let g:mytabcolumns = 4
set noexpandtab
set softtabstop=0
set shiftwidth=4
set tabstop=4
@simlrh
simlrh / abc.js
Created Jan 26, 2017
Tree shaking example
View abc.js
import { d, e, f } from "./def.js";
// a is used
export const a = d + " is part of a";
// b is unused
export const b = e + " is part of b";
// c is unused
export const c = f + " is part of c";
@simlrh
simlrh / comment.html
Created Nov 23, 2016
jekyll-github-comments Example Templates
View comment.html
<div class="comment">
<div class="avatar">
<img src="{{ comment.email | gravatar }}?d=mm">
</div>
<div class="content">
<span class="author">{{ comment.author }}</span>
<div class="metadata">
{% if comment.date %}
<span class="date">
{{ comment.date | date_to_string }}
@simlrh
simlrh / concat.rb
Created Nov 15, 2016
Use Liquid's new array concatenation in Jekyll
View concat.rb
module Jekyll
module ConcatFilter
def concat(one, two)
one.concat(two)
end
end
end
Liquid::Template.register_filter(Jekyll::ConcatFilter)
@simlrh
simlrh / index.rb
Created Nov 11, 2016
A quick and dirty Jekyll plugin to remove 'index.html' from the end of urls when using a clean permalink scheme
View index.rb
# Usage: {{ post.url | remove_index }}
module Jekyll
module RemoveIndexFilter
def remove_index(input)
url = if input
input.split("/")[0..-2].join("/") + "/"
else
input
end
You can’t perform that action at this time.