Skip to content

Instantly share code, notes, and snippets.

@cferdinandi
cferdinandi / myplugin-media.js
Last active December 6, 2023 14:23
Adding a Media Uploader to a custom metabox
/**
* Load media uploader on pages with our custom metabox
*/
jQuery(document).ready(function($){
'use strict';
// Instantiates the variable that holds the media library frame.
var metaImageFrame;
@cferdinandi
cferdinandi / README.md
Created October 15, 2020 15:45
A vanilla JS fork of Lettering.js
// Core assets
let coreAssets = [];
// On install, cache core assets
self.addEventListener('install', function (event) {
// Cache core assets
event.waitUntil(caches.open('app').then(function (cache) {
for (let asset of coreAssets) {
cache.add(new Request(asset));
@cferdinandi
cferdinandi / preact.html
Created October 16, 2023 15:40
Reef vs. Preact Performance Test - https://reefjs.com
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Preact</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Web Components</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style type="text/css">
body {
margin: 0 auto;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Event Delegation</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style type="text/css">
body {
margin: 1em auto;
@cferdinandi
cferdinandi / index.html
Created September 12, 2023 02:09
Two-way data-binding and reactivity. https://gomakethings.com/sotb/
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Data Binding</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style type="text/css">
body {
margin: 1em auto;
@cferdinandi
cferdinandi / vanilla-js-plugin.js
Created June 13, 2017 00:10
My starter template for vanilla JavaScript plugins.
(function (root, factory) {
if ( typeof define === 'function' && define.amd ) {
define([], factory(root));
} else if ( typeof exports === 'object' ) {
module.exports = factory(root);
} else {
root.myPlugin = factory(root);
}
})(typeof global !== 'undefined' ? global : this.window || this.global, function (root) {
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Classes</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>