Skip to content

Instantly share code, notes, and snippets.

View GrantCuster's full-sized avatar

grant GrantCuster

View GitHub Profile
#!/usr/bin/python3
import numpy as np
import os
import ujson
from pprint import pprint as pp
from aylienapiclient import textapi
import time
aylien_client = textapi.Client(<id>, <key>)
@GrantCuster
GrantCuster / .block
Created March 20, 2017 22:33 — forked from pbeshai/.block
Animate thousands of points with canvas and D3
license: mit
height: 620
border: no
@GrantCuster
GrantCuster / index.html
Last active September 28, 2017 02:27
Three.js mouse-directed zoom
<!DOCTYPE html>
<meta charset="utf-8">
<canvas width="960" height="500"></canvas>
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/87/three.min.js"></script>
<script src="https://d3js.org/d3.v4.min.js"></script>
<script>
var canvas = d3.select("canvas"),
context = canvas.node().getContext("2d"),
width = canvas.property("width"),
@GrantCuster
GrantCuster / .block
Created October 3, 2017 15:23 — forked from mbostock/.block
Pan & Zoom II
license: gpl-3.0
@GrantCuster
GrantCuster / .block
Last active October 3, 2017 15:25 — forked from mbostock/.block
Pan & Zoom II
license: gpl-3.0
@GrantCuster
GrantCuster / .block
Last active October 3, 2017 15:33 — forked from mbostock/.block
Pan & Zoom I
license: gpl-3.0
.bg-white { background: #FFFFFF; }
.white { color: #FFFFFF; }
.bg-silver { background: #C0C0C0; }
.silver { color: #C0C0C0; }
.bg-hray { background: #808080; }
.hray { color: #808080; }
.bg-black { background: #000000; }
.black { color: #000000; }
.bg-red { background: #FF0000; }
.red { color: #FF0000; }
@GrantCuster
GrantCuster / inline-gatsby-footnotes.js
Created August 15, 2018 18:24
Create inline footnotes in markdown files in Gatsby.js
// Put in gatsby-browser.js
exports.onRouteUpdate = ({ location }) => {
setTimeout(function() {
let og_footnotes = document.querySelector('.footnotes')
if (og_footnotes) {
let footnotes = document.querySelectorAll('.footnotes ol li')
for (let i = 0; i < footnotes.length; i++) {
let f_content = footnotes[i]
let link = f_content.querySelector('a')
let href = link.getAttribute('href')
This file has been truncated, but you can view the full file.
[[[1927, 1933], [2545, 2542], [2672, 2670], [3312, 3304]], [[2251, 2249], [3090, 3095], [2477, 2473], [2978, 2984], [2980, 2986]], [[2642, 2643], [2823, 2829], [2208, 2206], [3030, 3032], [2825, 2829], [2574, 2575]], [[2592, 2602], [2815, 2819], [2269, 2266], [2762, 2766], [2481, 2480], [2215, 2219], [3095, 3100]], [[2359, 2347], [2941, 2946], [2732, 2731], [2670, 2669], [2571, 2561], [2427, 2415], [2754, 2752], [1890, 1893]], [[2307, 2306], [2550, 2553], [2549, 2552], [2521, 2526], [2258, 2256], [2454, 2452], [2516, 2520], [1766, 1765], [2903, 2903]], [[2209, 2213], [2501, 2506], [2501, 2504], [2476, 2476], [2145, 2147], [2425, 2427], [2502, 2503], [1706, 1710], [2813, 2815], [2408, 2411]], [[1993, 1999], [2228, 2233], [2323, 2330], [2462, 2460], [2039, 2044], [2217, 2220], [2322, 2329], [1670, 1673], [2584, 2584], [2216, 2220], [2350, 2355]], [[1989, 1984], [2352, 2346], [2370, 2369], [2301, 2292], [2070, 2064], [2302, 2292], [2302, 2290], [1564, 1561], [2464, 2465], [2155, 2151], [2277, 2268], [2300, 2291]
@GrantCuster
GrantCuster / toc-active.js
Created October 25, 2019 13:47
Add an active class to the table of contents link when the heading is visible. For me, this was on top of html generated through markdown-it and markdown-it-table-of-contents, but similar things could work in lots of other situations.
window.addEventListener(
"load",
() => {
let headings = document.querySelectorAll("h2, h3, h4");
let links = document.querySelectorAll(".table-of-contents ul li a");
observer = new IntersectionObserver(
(entry, observer) => {
if (entry[0].intersectionRatio === 1) {
for (let link of links) {