Skip to content

Instantly share code, notes, and snippets.

K Adam White kadamwhite

View GitHub Profile
View Thing.js
var { convert, svgify } = (() => {
function sum( collection, prop ) {
return collection.reduce( ( sum, item ) => sum + item[prop], 0 );
}
function testEq( a, b ) {
if ( a !== b ) {
throw new Error( `Expected ${ a } to equal ${ b }` );
}
}
@kadamwhite
kadamwhite / convert-to-gif
Last active Jan 9, 2019
Spider a directory and make a short gif from each one. Ensure convert-to-gif is in your path before running `node make-gifs.js`
View convert-to-gif
#!/usr/bin/env node
/*
This script will clip a segment of a video file into a gif, using techniques
described in these resources:
https://engineering.giphy.com/how-to-make-gifs-with-ffmpeg/
https://video.stackexchange.com/questions/4563/how-can-i-crop-a-video-with-ffmpeg
https://askubuntu.com/questions/648603/how-to-create-an-animated-gif-from-mp4-video-via-command-line
https://trac.ffmpeg.org/wiki/HowToBurnSubtitlesIntoVideo
@kadamwhite
kadamwhite / hmr-helpers.js
Created Oct 31, 2018
Gist of how I auto-load plugin and block code within a Gutenberg project.
View hmr-helpers.js
const { blocks, plugins } = wp;
const { dispatch, select } = wp.data;
/**
* When a selected block is being disposed during a hot module reload, persist
* its clientId so it may be reselected after the new module version loads.
*
* If the block being unloaded is currently selected, clear that selection to
* avoid a Gutenberg error that occurs when unregistering a selected block.
*
@kadamwhite
kadamwhite / File Structure.md
Last active Oct 17, 2018
Helpers I use for local WordPress development.
View File Structure.md

Local WordPress Core Development Helpers

This is a collection of scripts, bash functions, and config files that help me do WordPress core development.

Folder Structure

  • /wp: parent folder
  • /wp/svn: SVN checkout
  • /wp/git: Git checkout
  • /wp/{ git | svn }/wp-test-config.php: see attached file
@kadamwhite
kadamwhite / api-testbed.js
Last active Mar 18, 2019
wpapi lightweight testbed
View api-testbed.js
/* eslint-disable no-console */
/**
* A little module that adds a wpapi() method to the window object.
*
* wpapi() takes an API path (e.g. /wp/v2/posts), optionally containing string query parameters,
* or a query-less API path and a hash object of query param objects.
*/
( context => {
const { root, nonce } = context.WP_API_Settings;
@kadamwhite
kadamwhite / chassis-openssl-readme.md
Created Jul 3, 2018
Proposed roborourke/chassis-openssl README change (WIP0)
View chassis-openssl-readme.md

Adding the certificate to your keychain

To avoid the red "your connection is not encrypted" message, you'll have to add the generated .cert to your keychain.

macOS

sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain yourlocaldomain.cert
@kadamwhite
kadamwhite / scrape-gutenberg-handbook.js
Created May 22, 2018
Scrape Gutenberg handbook content to local markdown & images
View scrape-gutenberg-handbook.js
/*
-------------
mkdirp usage:
-------------
var mkdirp = require('mkdirp');
mkdirp('/tmp/foo/bar/baz', function (err) {
if (err) console.error(err)
else console.log('pow!')
@kadamwhite
kadamwhite / albumArtSelector.js
Last active Jun 18, 2018
Paste into Dev Tools while running Plex to automatically work through your library and assign default album art.
View albumArtSelector.js
var albumArt = (() => {
// Helpers
// (e.g. DOM shortcuts and class-checking utilities)
var qsa = ( container, selector ) => [ ...container.querySelectorAll( selector ) ];
var nodeHasClass = ( node, str ) => node.classList.toString().indexOf( str ) > -1;
var whereNodeHasClass = ( str ) => ( node ) => nodeHasClass( node, str );
var wherePropertyLike = ( obj, str ) => {
const key = Object.keys( obj ).find( key => key.indexOf( str ) > -1 );
return key ? obj[ key ] : null;
@kadamwhite
kadamwhite / .eslintrc
Created Mar 19, 2018
object-curly-newline-named-import-issue.js
View .eslintrc
{
"root": true,
"env": { "es6": true },
"extends": [
"eslint:recommended"
],
"parserOptions": {
"sourceType": "module"
},
"rules": {
@kadamwhite
kadamwhite / parbs-scale.md
Last active Mar 13, 2018 — forked from ramiabraham/parbs-scale.md
The Parbs Scale
View parbs-scale.md

The Parbs Scale: a Unit of Measurement for the Modern World


A Practical Means of Measuring Human-scale Physical Objects

Author: Rami Abraham
August 30, 2015

Abstract

You can’t perform that action at this time.