Skip to content

Instantly share code, notes, and snippets.

@tangrufus
tangrufus / example.conf
Last active July 19, 2017 12:35
static nginx site
# Add this one along with your other nginx config files
# Do not change any existing site config file
# This example use port 8080
# Maybe you have to change to another port
# See also: https://www.nginx.com/resources/admin-guide/serving-static-content/
server {
listen 8080;
# roles/deploy/hooks/build-after.yml
- debug:
msg: "Before Gzip static assets: {{lookup('pipe', 'date')}}"
- name: Gzip static assets
shell: "gzip --best --keep --force {{ static_assets | map(attribute='path') | join(' ') }}"
when: project.gzip_assets_on_deploy | default(gzip_assets_on_deploy)
- debug:
@tangrufus
tangrufus / query-to-redirect.md
Last active September 6, 2018 06:06
Refactoring query-to-redirect

Don't hook into parse_query.

- add_action('parse_query', [$this, 'fixEmptyQueryString']);
- add_action('parse_query', [$this, 'filterBarQueryRedirect']);

+ add_action('wp', [$this, 'fixEmptyQueryString'], 5);
+ add_action('wp', [$this, 'filterBarQueryRedirect'], 5);
@tangrufus
tangrufus / github-zip.jpg
Last active October 16, 2018 13:54
Making wp plugin zip out of composer repo
github-zip.jpg

Keybase proof

I hereby claim:

  • I am tangrufus on github.
  • I am tangrufus (https://keybase.io/tangrufus) on keybase.
  • I have a public key whose fingerprint is CFBE 0B13 3B14 C437 56D0 0D34 5709 0746 B2C4 EAC7

To claim this, I am signing this object:

@tangrufus
tangrufus / wp offload media + download monitor s3.md
Last active August 8, 2019 10:38
wp offload media + download monitor s3
@tangrufus
tangrufus / find-corrupted-wordpress-image-attachments.php
Last active August 21, 2019 11:15
Find corrupted wordpress image attachments
<?php
$mineTypes = get_allowed_mime_types();
$imageMineTypes = array_filter($mineTypes, function (string $type): bool {
return '' !== 'image/' && 0 === strpos($type, 'image/');
});
$query = new WP_Query([
'fields' => 'ids',
'post_type' => 'attachment',
<?php
add_action('save_post', function($id, $post, $update): void {
if (! $update) {
return;
}
$postType = get_post_type($id);
// TODO: Change to the correct post type!
if ('post' !== $postType) {
require "http"
require 'json'
require 'open3'
http = HTTP.auth("token XXXXX")
max_page=12
clone_urls = (1..max_page).map do |page|
body = http.get("https://api.github.com/orgs/itinerisltd/repos?type=sources&sort=created&page=#{page}").body
repos = JSON.parse(body)