Skip to content

Instantly share code, notes, and snippets.

Avatar
💭
I may be slow to respond.

Jay Holtslander JayHoltslander

💭
I may be slow to respond.
View GitHub Profile
@JayHoltslander
JayHoltslander / functions.php
Last active Jul 25, 2020
WP Featured image URLs in JSON REST API
View functions.php
// WP FEATURED IMAGE URLS in JSON API
// See: https://wordpress.stackexchange.com/a/249769/105228
//
add_action( 'rest_api_init', 'add_thumbnail_to_JSON' );
function add_thumbnail_to_JSON() {
//Add featured image
register_rest_field(
'post', // Where to add the field (Here, blog posts. Could be an array)
'featured_image_src', // Name of new field (You can call this anything)
array(
@JayHoltslander
JayHoltslander / convert-all-to-webp.sh
Last active Jun 9, 2020
Batch convert images in current folder to webp format using Google's cwebp tool.
View convert-all-to-webp.sh
# cwebp Docs: https://developers.google.com/speed/webp/docs/using
find ./ -type f -name '*.png' -exec sh -c 'cwebp -q 75 $1 -o "${1%.png}.webp"' _ {} \; &&
find ./ -type f -name '*.jpg' -exec sh -c 'cwebp -q 75 $1 -o "${1%.jpg}.webp"' _ {} \;
@JayHoltslander
JayHoltslander / 11ty-external-json-data.js
Created Jun 8, 2020
This file when placed in 11ty's _data folder will fetch a Sheety API endpoint for use with 11ty
View 11ty-external-json-data.js
// Fetch external data for use with 11ty (https://www.11ty.dev)
const fetch = require("node-fetch");
module.exports = async function() {
console.log( "Fetching titles…" );
// Sheety API - See: https://sheety.co/
const response = await fetch("https://v2-api.sheety.co/fc583ad9266228c03ecc1ee9ace31835/starWarsChronologicalOrder/sheet1")
return response.json();
};
@JayHoltslander
JayHoltslander / Cloudflare's New Deeplinks.md
Last active May 26, 2020
List of Cloudflare's new dashboard DeepLinks 2020-05-18
View Cloudflare's New Deeplinks.md
@JayHoltslander
JayHoltslander / Broken link checker.md
Last active May 22, 2020
Broken link checker commands
View Broken link checker.md
@JayHoltslander
JayHoltslander / Optimize video for web.md
Last active Oct 15, 2020
Optimize video for web ("Hint for Streaming"/"Faststart")
View Optimize video for web.md

With: https://www.ffmpeg.org/ (brew install ffmpeg)

The command I used to strip the unused/silent audio channel + "hint for streaming" was:

ffmpeg -i my-video.mp4 -c copy -an -movflags faststart my-video-nosound-hint.mp4

This caused an 8MB video which was too big for web usage, to become a 10MB file that plays immediately while the video is still downloading.

  • Before: Lighthouse complained about the page and the video file (Rightly so).
  • After: Lighthouse greenlit the page and the video file (Above the fold).
View SVG Emoji Favion
<!-- SVG EMOJI FAVICON. See https://twitter.com/LeaVerou/status/1241619866475474946 -->
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22>
<text y=%22.9em%22 font-size=%2290%22>😎</text>
</svg>">
<!--ANIMATED ATTEMPT-->
<!-- SVG EMOJI FAVICON. See https://twitter.com/LeaVerou/status/1241619866475474946 -->
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><style>svg{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}svg{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}svg{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}@-webkit-keyframes flip{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}
View Bulk WebP convert.sh
find ./ -type f -name '*.jpg' -exec sh -c 'cwebp -q 75 $1 -o "${1%.png}.webp"' _ {} \;
@JayHoltslander
JayHoltslander / private-wp-admin
Last active Feb 27, 2020
Redirect unauthorized IP addresses that try to access Wordpress' wp-admin
View private-wp-admin
# REDIRECT UNAUTHORIZED IP ADDRESSES THAT TRY TO ACCESS WP-ADMIN
#
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
# ======= IF YOU WANT INTO THE WORDPRESS ADMIN AREA... =======
RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$ [OR]
RewriteCond %{REQUEST_URI} ^/wp-admin.*
@JayHoltslander
JayHoltslander / deactivate-plugins-on-domain.php
Last active Oct 23, 2018 — forked from subharanjanm/deactivate-plugins-wpe-staging.php
Deactivate certain Wordpress plugins when running on the development/staging domain
View deactivate-plugins-on-domain.php
<?php
require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
$plugins = array(
'wordpress-seo/wp-seo.php',
'broken-link-checker/broken-link-checker.php'
);
if ( strpos(get_site_url(), 'devserver.com') !== false ) {
deactivate_plugins( $plugins );
}
else {
You can’t perform that action at this time.