Skip to content

Instantly share code, notes, and snippets.

Avatar

Andrey Savchenko Rarst

View GitHub Profile
@Rarst
Rarst / ruleset.xml
Created Aug 27, 2020
My personal PHPCS ruleset for WP projects.
View ruleset.xml
<?xml version="1.0"?>
<ruleset name="WordPress-Modified">
<description>A custom coding standard.</description>
<rule ref="CognitiveComplexity.Complexity.MaximumComplexity">
<properties>
<property name="maxCognitiveComplexity" value="5"/>
</properties>
</rule>
@Rarst
Rarst / style-guide.js
Last active Apr 28, 2020
Automagically add Tailwind–like CSS from Frontend Mentor style guide files. https://www.frontendmentor.io/
View style-guide.js
fetch('style-guide.md')
.then((response) => {
return response.text();
})
.then((markdown) => {
parseMarkdown(markdown)
});
function parseMarkdown(markdown) {
let css = '';
@Rarst
Rarst / git-gc.php
Created Mar 3, 2020
Find and garbage collect all Git repositories in path `php git-gc.php /path/to/walk`.
View git-gc.php
<?php
declare( strict_types=1 );
$path = $argv[1];
$iterator = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator( $path ),
RecursiveIteratorIterator::SELF_FIRST
);
@Rarst
Rarst / hugo-remote-api.html
Last active Jun 29, 2020
Remote API example in Hugo static site build.
View hugo-remote-api.html
{{ with getJSON "https://noti.st/rarst.json" }}
<h3 class="text-left">Latest Talk</h3>
{{ $talks := (index .data 0).relationships.data }}
{{ $latest :=index $talks 0 }}
<a href="{{ $latest.links.self }}">
<img src="{{ $latest.attributes.image.src }}" alt="{{ $latest.attributes.title }}"
class="img-responsive" style="max-height: 210px;border: 1px solid #eee" loading="lazy"/>
</a>
{{ end }}
@Rarst
Rarst / wp-email-log.php
Created Mar 31, 2019
A simple mu–plugin snippet for overriding and logging WP emails in development.
View wp-email-log.php
<?php
class R_Mailer {
function Send() {
error_log( wp_debug_backtrace_summary() );
}
}
add_action( 'phpmailer_init', function( &$mailer ) {
$mailer = new R_Mailer();
@Rarst
Rarst / github-release-download.php
Last active May 13, 2019
Quick and dirty WP endpoint to redirect to a download of attached file for a latest GitHub release.
View github-release-download.php
<?php
declare( strict_types=1 );
new class( 'Rarst', [ 'laps' ] ) {
private $owner, $repos;
private $endpoint = 'download';
public function __construct( string $owner, array $repos ) {
@Rarst
Rarst / getpatch.cmd
Last active Jun 29, 2018
Download a patch file from a GitHub branch. Arguments: repo name, branch name (e.g. `getpatch Rarst/wp-date trac-38771`).
View getpatch.cmd
curl https://github.com/%1/compare/master...%2.diff > patches/%2.diff
@Rarst
Rarst / jekyll.md
Created Jan 9, 2018
What worked for me to install GitHub Pages (Jekyll) on Windows 7x64.
View jekyll.md

GitHub Pages (Jekyll) installation on Windows 7x64

Main install

  1. Install Ruby 2.4.3 via RubyInstaller (not 2.5, conflicts with things later)
  2. Let it install MSYS2 or do it yourself.
  3. gem install bundler
  4. gem install github-pages (this includes jekyll itself and is where things break most)
  5. jekyll -v (3.6.2 at the time of writing, a little behind latest 3.7)
  6. jekyll new myblog
  7. Edit myblog/Gemfile to comment out jekyll line and uncomment github-pages line.
@Rarst
Rarst / .scrutinizer.yml
Last active Aug 13, 2019
Scrutinizer config to install PHPUnit on the fly, without shipping in project dependencies.
View .scrutinizer.yml
filter:
excluded_paths:
- 'tests/*'
checks:
php: true
build:
environment:
php:
version: 7.2
dependencies:
View php-72-crash.php
<?php
add_action( 'template_redirect', function () {
if ( ! isset( $_GET['crash'] ) ) {
return;
}
$urls = [];
You can’t perform that action at this time.