Skip to content

Instantly share code, notes, and snippets.

View AprilSylph's full-sized avatar

April Sylph AprilSylph

View GitHub Profile
@AprilSylph
AprilSylph / 00-README.md
Last active October 7, 2021 19:42 — forked from nightpool/00-README.md
NPF-to-HTML renderer

npf.js is the main bulk of the code, and it exposes three functions:

renderContent

Render content returns an object {content, ask}. It returns the ask content separately so it can be handled spearately by the consuming client. content is an HTML element, ask is itself an object containing content (an HTML element) and the other properties of the ask layout type (specifically of interest is the attribution property).

mentions

media

@AprilSylph
AprilSylph / constructISOString.js
Last active May 26, 2021 11:01
Create ISO 8601 format date strings in Javascript
/**
* @param {number} unixTime - seconds elapsed since 1970-01-01T00:00:00.000Z
* @returns {string} - ISO 8601 format date, not including milliseconds
*/
export const constructISOString = function (unixTime) {
const date = new Date(unixTime * 1000);
const fourDigitYear = date.getFullYear().toString().padStart(4, '0');
const twoDigitMonth = (date.getMonth() + 1).toString().padStart(2, '0');
const twoDigitDate = date.getDate().toString().padStart(2, '0');
@AprilSylph
AprilSylph / findClass.js
Created November 6, 2020 17:32
Reverse-lookup for Tumblr's CSS map
const findClass = classname => tumblr.getCssMap()
.then(Object.entries)
.then(entries => entries.filter(([name, classes]) => classes.includes(classname)))
.then(Object.fromEntries);
@AprilSylph
AprilSylph / no_twitter_trends.user.css
Created September 13, 2020 18:51
Hide the "What's happening" sidebar section on EN Twitter
@AprilSylph
AprilSylph / cartesian.js
Created August 4, 2020 14:20
Cartesian product without recursion
/**
* @param {...Object[]} arrays - one or more arrays
* @return {Object[]} The Cartesian product of the arrays
*/
const cartesian = (...arrays) => {
let product = arrays.shift().map(x => [x]);
for (const currentArray of arrays) {
const newProduct = [];
const getResponseText = response => {
if (response.ok) {
return response.text();
} else {
throw Object.assign(new Error(response.status), {response});
}
};
const getTumblrFormKey = () => fetch('/neue_web/iframe/new/text')
.then(getResponseText)
@AprilSylph
AprilSylph / markdownify.css
Last active May 17, 2020 16:46
make HTML display as markdown syntax
h1, h2, h3, h4, h5, h6 {
font-size: 1em !important;
font-weight: normal !important;
}
h1::before { content: "# " !important; }
h2::before { content: "## " !important; }
h3::before { content: "### " !important; }
h4::before { content: "#### " !important; }
h5::before { content: "##### " !important; }
@AprilSylph
AprilSylph / redirect.html
Created April 6, 2019 01:53
simulate "Redirect"-type page layout on Tumblr
<!DOCTYPE html>
<html>
<head>
<title>Redirecting...</title>
<script>
if (location.pathname !== "/customize_preview_receiver.html") {
location.replace("{TARGETURL}");
}
</script>
<meta name="description" content="This is a redirect to {TARGETURL}."/>
@AprilSylph
AprilSylph / console.icon.js
Last active August 6, 2019 11:55
XKit Extension
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAOSCAYAAACMcrQWAAAgAElEQVR4nO3dbayu6VnW8WN2GQcoVKpCpDUqLQo12Jr4WkCoVokGFHyJSY2xUWJCjBWipdU00WXFSqJGCk1rjaVQhaZtKiFVDMRETRSSWiOtYMDYBkK0xFHTlplxOjPs8cPaa7pnZu+118vznNd5n/fvn/y+X/f9XNmZY9Ze+0kkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZKkjferk3xlklcn+ZYkr0/yxiR/P8nbk/xgkvcCAEBj78npf7v+wyRvyul/0/6lJN+c5JVJfl1U3o0kvy3Jty
@AprilSylph
AprilSylph / skeleton.html
Last active January 4, 2019 06:26
Blank/Example/Reference Tumblr Theme
<!DOCTYPE html>
{block:Options}
<meta name="image:Image" content="https://static.tumblr.com/2wliono/hy7pfab69/aurora.png">
<meta name="color:Colour" content="#36465d">
<meta name="font:Font" content="Helvetica, Arial, sans-serif">
<meta name="select:Dropdown" content="Example Option 1">
<meta name="select:Dropdown" content="Example Option 2">
<meta name="select:Dropdown" content="Example Option 3">
<meta name="if:Boolean" content="1">
<meta name="text:Text" content="Example Input">