By @mgechev. Based on this post.

Fork me on GitHub