Skip to content

Instantly share code, notes, and snippets.

View Rarst's full-sized avatar

Andrey Savchenko Rarst

View GitHub Profile
@Rarst
Rarst / render-link.html
Last active June 10, 2022 09:09
Autoembed tweet links in Hugo with markdown render hook https://gohugo.io/templates/render-hooks/
View render-link.html
@Rarst
Rarst / ruleset.xml
Created August 27, 2020 12:57
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 April 28, 2020 12:48
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 March 3, 2020 12:25
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 October 30, 2023 18:08
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 March 31, 2019 07:51
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 02:27
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 September 20, 2023 14:00
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 January 9, 2018 08:57
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 August 13, 2019 11:37
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: