Skip to content

Instantly share code, notes, and snippets.


Jen Kagan kaganjd

View GitHub Profile

Generating a Tern.js defs file for p5.js


p5 source code --> YUIDoc JSON --> Tern defs JSON


Because p5.js uses YUIDoc to generate documentation, I'm using @angelozerr's tern.yuidoc plugin to generate a Tern.js defs file for p5.js. Ultimately, this will be used to implement code hints and autocomplete in the p5.js web editor.

  1. Get the p5.js API JSON file from the p5 website, here. Learn more about the p5.js API JSON file here.
  2. Then, get the Tern defs generator. Clone @angelozerr's repo with $ git clone


  • Get existing cm.setOption calls to work with the Tern cm.setOption calls
  • Figure out how to link tern.yuidoc as a dependency of p5 so a Grunt task can be created/run to create the Tern definition file each time there are updates
  • Autocomplete is only triggered with a .
  • Suuuper sluggish performance when multiple functions/vars/words register with Tern. Hard to tell whether this is Tern or CodeMirror show-hint

Functionality to add

  • Modal window that describes Tern keys (like existing keyboard shortcuts modal)
  • Toggle/keyboard shortcut to turn on Tern stuff
    • probably in "Settings: General" (see new Jerel design on Zeplin)
kaganjd /
Created Feb 21, 2018
Set up a virtualenv for AWSCLI with Python3
mkdir test-python
cd test-python/
virtualenv -p /Library/Frameworks/Python.framework/Versions/3.6/bin/python3 test-python
source test-python/bin/activate
pip3 install awscli --upgrade
kaganjd /
Created Jul 10, 2019
Python script to get a GitHub user's public SSH keys and write to .ssh/authorized_keys
# Run with `python3 [user]`
import requests
import subprocess
import argparse
parser = argparse.ArgumentParser()
args = parser.parse_args()
kaganjd /
Last active Feb 11, 2020
Tiniest 'hello world' to deploy from Netlify Dev

From Matt Biilmann's Netlify Dev demo

  1. $ npm install netlify-cli -g to install the Netlify CLI tool
  2. $ mkdir site && cd site to make the directory you'll deploy to Netlify
  3. $ mkdir public && cd public to make a directory to hold your site assets, including the index.html
  4. $ touch index.html and write a bare bones file like:
<!doctype html>
kaganjd /
Last active Mar 18, 2020
DNS config options for Netlify
You can’t perform that action at this time.