Skip to content

Instantly share code, notes, and snippets.

View jancbeck's full-sized avatar

Jan Beck jancbeck

View GitHub Profile
@jancbeck
jancbeck / query_themes.gs
Last active June 4, 2016 15:57
Fetches themes from wordpress.org and feeds them into a Google Spreadsheet
/*
* Step 1: Execute `buildThemeList` to build the basic list of all themes.
* Step 2: Enter your Page Speed Insights API Key
* Step 3: Create minutely trigger for `getPageSpeeds`.
*/
var apiKey = 'YOUR API KEY';
var deleteOldSheets = true;
/*
@jancbeck
jancbeck / woocommerce-optimize-scripts.php
Last active June 8, 2016 10:50 — forked from DevinWalker/woocommerce-optimize-scripts.php
Only load WooCommerce scripts on shop pages and checkout + cart
<?php add_action( 'wp_enqueue_scripts', function() {
if ( function_exists( 'is_woocommerce' ) && ! is_woocommerce() && ! is_cart() && ! is_checkout() ) {
wp_dequeue_style( 'woocommerce_frontend_styles' );
wp_dequeue_style( 'woocommerce_fancybox_styles' );
wp_dequeue_style( 'woocommerce_chosen_styles' );
wp_dequeue_style( 'woocommerce_prettyPhoto_css' );
wp_dequeue_script( 'wc_price_slider' );
wp_dequeue_script( 'wc-single-product' );
wp_dequeue_script( 'wc-add-to-cart' );

Keybase proof

I hereby claim:

  • I am jancbeck on github.
  • I am jancbeck (https://keybase.io/jancbeck) on keybase.
  • I have a public key ASBC8CHbwPT11Jz5cP_InKjVuD8YZTxpWsJGqPTkiBWy6go

To claim this, I am signing this object:

@jancbeck
jancbeck / password-protect.php
Created September 27, 2016 15:41
Automatically password protect all new custom post types in WordPress
<?php
add_filter( 'wp_insert_post_data', function( $data, $postarr ){
if ( 'book' == $data['post_type'] && 'auto-draft' == $data['post_status'] ) {
$data['post_password'] = wp_generate_password();
}
return $data;
}, '99', 2 );
@jancbeck
jancbeck / functions.php
Created April 8, 2017 08:36
Uses the "New Customer" email template by WooCommerce when a new user is created via the WP Job Manager. Add to your themes functions.php
<?php
function wp_job_manager_notify_new_user( $user_id, $password ){
global $wp_version;
$wc_emails = WC_Emails::instance();
if ( empty($wc_emails)) {
return;
}
git clone --bare git@github.com:jancbeck/dotfiles.git $HOME/.cfg
function config {
/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME $@
}
mkdir -p .config-backup
config checkout
if [ $? = 0 ]; then
echo "Checked out config.";
else
echo "Backing up pre-existing dot files.";
@jancbeck
jancbeck / new-uberspace.sh
Last active March 16, 2022 08:17
Setup Uberspace 7
# switch to zsh shell
# https://manual.uberspace.de/en/basics-shell.html
chsh --shell /bin/zsh
# install oh-my-zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
# remove existing .zshrc
rm -rf .zshrc
@jancbeck
jancbeck / package.json
Created May 10, 2018 11:28
Dynamically search and replace server logs when they change. Uses gulp.js and node
{
"name": "process-log",
"version": "1.0.0",
"description": "Dynamically search and replace server logs when they change",
"main": "gulpfile.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [
"logs"
@jancbeck
jancbeck / safari_reading_list_2_pocket_html.py
Created August 30, 2023 16:04
Takes a Safari exported reading list JSON and converts to Pocket's export format
from datetime import datetime
from bs4 import BeautifulSoup
# Create a BeautifulSoup object with the basic HTML structure
html_structure = '''
<!DOCTYPE html>
<html>
<head>
<title>Reading List</title>
</head>