Skip to content

Instantly share code, notes, and snippets.

View pento's full-sized avatar
💖
Hello, friend. 🙂

Gary Pendergast pento

💖
Hello, friend. 🙂
View GitHub Profile
@pento
pento / php-block.js
Last active September 5, 2024 01:58
Converting a shortcode to a block: this method is fast to do, but a mediocre UX. You should only use this as a stopgap until you can implement a full block UI.
// License: GPLv2+
var el = wp.element.createElement,
registerBlockType = wp.blocks.registerBlockType,
ServerSideRender = wp.components.ServerSideRender,
TextControl = wp.components.TextControl,
InspectorControls = wp.editor.InspectorControls;
/*
* Here's where we register the block in JavaScript.
@pento
pento / weekly-block.css
Last active April 17, 2018 18:56
The Weekly Block
/**
* License: GPL-3.0+
*/
.weekly-link {
/*border-left: 3px solid rgba(0,0,0,.8);*/
border-left: 3px solid rgba(255, 160, 0, 1);
padding-left: 2em;
padding-right: 2em;
margin-bottom: 2em;
}
@pento
pento / stars-block.js
Last active January 4, 2022 14:00
Gutenberg Stars Block
( function( blocks, element ) {
var el = element.createElement;
function Stars( { stars } ) {
return el( 'div', { key: 'stars' },
'★'.repeat( stars ),
( ( stars * 2 ) % 2 ) ? '½' : '' );
}
blocks.registerBlockType( 'stars/stars-block', {
@pento
pento / rainbow-bar.php
Last active September 26, 2017 21:20
WordPress Rainbow Bar
<?php
/*
* Plugin Name: Rainbow Bar!
*/
function rainbow_bar() {
?>
<style type="text/css">
#wpadminbar {
@pento
pento / db.php
Last active July 6, 2017 03:00
🙃db, the next evolution of wpdb.
<?php
class 🙃db extends wpdb {
public $tables🙃 = array(
// Tables
'posts' => '⭕',
'postmeta' => '⭕➡️',
'comments' => '♻',
'commentmeta' => '♻➡️',
'terms' => '↔️',
@pento
pento / wp-tests-config.php
Created December 30, 2015 03:07
MySQL version switching with MySQL Sandbox
<?php
/* Path to the WordPress codebase you'd like to test. Add a backslash in the end. */
define( 'ABSPATH', dirname( __FILE__ ) . '/src/' );
// Test with multisite enabled.
// Alternatively, use the tests/phpunit/multisite.xml configuration file.
// define( 'WP_TESTS_MULTISITE', true );
// Force known bugs to be run.
Verifying that +pento is my openname (Bitcoin username). https://onename.com/pento
@pento
pento / best-filter-model.php
Last active August 29, 2015 14:03
A filter model for Wordpress pros (Wordpress pros don't have time to press shift twice when typing "Wordpress")
<?php
class PentoFilters {
// eg...
function the_content( $content ) {
return $content;
}
}
function pento_filters() {
global $wp_current_filter;

Keybase proof

I hereby claim:

  • I am pento on github.
  • I am pento (https://keybase.io/pento) on keybase.
  • I have a public key whose fingerprint is B3B5 DF2A 48B4 C067 7628 6491 5B08 7A47 D0D6 EE94

To claim this, I am signing this object:

@pento
pento / regex-vs-dom.php
Last active February 14, 2021 06:38
Testing the performance of searching a lump of HTML with Regular Expressions, vs creating a DOMDocument.
<?php
$html = <<<EOT
<p><strong>Lorem #ipsum dolor sit amet</strong>, consectetur adipiscing elit. In in elit euismod, laoreet sapien eget, tristique ipsum. In #aliquam eros tortor, sit amet aliquet turpis suscipit eget. Maecenas eget vulputate metus. Phasellus at ligula ut nulla placerat imperdiet. Duis laoreet mauris <strong>eget dolor #egestas suscipit</strong>. In et #sodales elit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. In tristique sit amet nisl ultrices rhoncus. Phasellus eget sem vitae urna pulvinar tristique non at velit. Integer eget nulla dolor. Vivamus quis iaculis massa, et faucibus mi. Quisque pretium dapibus massa, id imperdiet quam. #Morbi mollis ipsum eu mauris ultrices, <em>vel #pharetra quam sagittis</em>. Pellentesque auctor lacus massa, in tempor leo viverra id. Cras nisl ante, vehicula nec felis vitae, dictum sollicitudin eros. Donec sagittis id lorem ac tristique.</p>
<p>Duis quis consequat sapien. <a href="http://google.com/">Quisqu