Skip to content

Instantly share code, notes, and snippets.

View danburzo's full-sized avatar

Dan Burzo danburzo

View GitHub Profile
@danburzo
danburzo / releasenotes.sh
Created September 18, 2021 22:07
Release notes for npm package
# -------------------------------------------
# List the release notes of any npm package,
# as long as it publishes releases on GitHub.
#
# Usage: releasenotes d3
# -------------------------------------------
function releasenotes() {
URL=$(
npm view $1 repository.url |\
xargs npx parse-github-url |\
@danburzo
danburzo / README.md
Last active June 30, 2020 13:52
Highlight CSS stacking contexts on a web page

Highlight the CSS stacking contexts on a page.

This has been incorporated in a small library.

How to use

Paste the content of the stacking-contexts.js file into the browser's dev tools. Elements that (at least in theory) are stacking contexts will be highlighted with a red border / overlay. The elements' title attribute will reflect the reason and the z-index.

Note: in a browser that does not support a certain CSS property — e.g. Safari with contain — the property will not show up in the element's computed styles, so running this code in Safari will not highlight an object with contain: content as a stacking context. Make sure to test in a variety of browsers to track down differences.

@danburzo
danburzo / README.md
Last active June 30, 2020 13:53
Find elements that poke outside window bounds
@danburzo
danburzo / debug.css
Last active September 11, 2019 13:06
Hover-aware CSS debug styles.
/*
Hue rotaton based on the DOM element depth.
*/
* { --hue: 0; }
* * { --hue: 60; }
* * * { --hue: 120; }
* * * * { --hue: 180; }
* * * * * { --hue: 240; }
* * * * * * { --hue: 300; }
* * * * * * * { --hue: 0; }
const normalize_offsets = offsets => {
let arr = offsets.slice();
if (arr[0] === undefined) arr[0] = 0;
if (arr[arr.length - 1] === undefined) arr[arr.length - 1] = 1;
let i = 0, j, start, start_offset, increment;
while (i < arr.length) {
if (arr[i] === undefined) {
start = i;
start_offset = arr[i - 1];
j = i;
@danburzo
danburzo / youtube-favorites.js
Created July 18, 2018 12:42
Grab a JSON of your YouTube favorite videos (or any other playlist)
/*
Get your Youtube favorite videos
--------------------------------
1. Navigate to your Favorites page
2. Scroll the list all the way down such that all videos are loaded into the browser.
3. Copy the JavaScript code below and run it in your console; a JSON of your videos
will be loaded into your clipboard.
4. Paste into a file on your computer.
@danburzo
danburzo / index.js
Created February 25, 2017 09:51
Find the WordPress themes & plugins used by a page
function _match(str, regex) {
var matches = [];
str.replace(regex, function() {
matches.push(Array.prototype.slice.call(arguments));
});
return matches;
}
function _unique(item, idx, arr) {
return arr.indexOf(item) === idx;
@danburzo
danburzo / README.md
Last active August 30, 2023 06:52
Scrape your Facebook saved links

Facebook does not provide an easy way to get your saved links out of its system. Here's a quick script that does that for you.

Instructions

Go to your Saved links page and make sure you scroll way down to the bottom so that all your saved items are loaded. This script will generate a simple HTML page with your links, along with an Add to Pinboard action.

Bookmarklet

Drag this to your bookmarks toolbar:

@danburzo
danburzo / README.md
Last active January 19, 2016 22:36
Draw every emoji
@danburzo
danburzo / smartypants.js
Last active November 9, 2016 11:04
Smartypants in JavaScript
function smartypants(str) {
/*
Rules adapted from:
http://www.leancrew.com/all-this/2010/11/smart-quotes-in-javascript/
*/
return [
[/(^|[-\u2014\s(\["])'/g, "$1\u2018"], // opening single quote
[/'/g, "\u2019"], // closing single quote, apostrophe
[/(^|[-\u2014/\[(\u2018\s])"/g, "$1\u201c"], // opening double quote
[/"/g, "\u201d"], // closing double quote