Skip to content

Instantly share code, notes, and snippets.

View lightningspirit's full-sized avatar
🏠
Working from home

Vitor Carvalho lightningspirit

🏠
Working from home
View GitHub Profile
@lightningspirit
lightningspirit / vscode-sr-snippets.md
Created December 18, 2023 19:32
Visual Studio Code - Search - Replace snippets

VSCode Search & Replace Snippets

A collection of snippets to perform tasks to convert code syntax in some languages.

TypeScript

Convert NextJS dynamic import into full import

Example

const EmailIcon = dynamic(() => import("images/icons/buttons/email-button.svg"))
@lightningspirit
lightningspirit / object-cache.php
Created December 9, 2023 15:18
WordPress APCu Object Cache
<?php
/*
Plugin Name: WordPress APCu Object Cache Backend
Plugin URI: https://github.com/l3rady/WordPress-APCu-Object-Cache
Description: APCu backend for WordPress' Object Cache
Version: 1.1
Author: Scott Cariss
Author URI: http://scott.cariss.dev
*/
$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 61
model name : Intel Core Processor (Broadwell, no TSX, IBRS)
stepping : 2
microcode : 0x1
cpu MHz : 2394.454
cache size : 16384 KB
@lightningspirit
lightningspirit / parseHttpHeader.test.ts
Created October 26, 2023 23:37
Parses HTTP header based on format of RFC-9110
import parseHttpHeader from "./parseHttpHeader"
describe("functions/parseHttpHeader", function () {
it.each([
[
"users=0-10/100",
{
users: "0-10/100",
},
],
@lightningspirit
lightningspirit / wp-disable-plugin-update-notifications.php
Last active September 12, 2023 16:34
Disable WordPress plugin updates and notifications
<?php
namespace WP_Disable_Plugin_Update_Notifications;
$plugins = [
'elementor/elementor.php',
'elementor-pro/elementor-pro.php',
];
add_filter( 'site_transient_update_plugins', function ( $value ) use ( $plugins ) {
@lightningspirit
lightningspirit / custom-plugin.php
Last active May 24, 2023 10:48
WordPress Custom Plugin - Can be used to add any code using the online editor
<?php
/**
* Plugin Name: Custom
* Plugin URI: https://gist.github.com/lightningspirit/4619cb99fcb662b390d9596df1479d41
* Description: Custom code for everybody
* Author: Move Your Digital
* Author URI: https://moveyourdigital.com
* Version: 1.0.0
*
@lightningspirit
lightningspirit / buildQueryString.ts
Created October 29, 2022 09:31
A function that takes an object and outputs a query string. Booleans are mapped into 1 and 0. Supports arrays of values.
type ValueType =
| string
| number
| boolean
| null
| undefined
| (string | number | boolean | null | undefined)[]
function mapBooleans(key: string, value: ValueType) {
switch (value) {
@lightningspirit
lightningspirit / README.md
Created September 20, 2022 00:37
Add excerpt to page

WordPress Page Excerpt

Add excerpt field to page

Usage

  1. Download this ZIP
  2. Upload to plugins
  3. Activate it
@lightningspirit
lightningspirit / README.md
Last active November 26, 2024 12:51
Includes a `readingTime` field in seconds for every `Post` object response.

WPGraphQL Post Reading Time

Includes a readingTime field in seconds for every Post object response.

Usage

  1. Download this ZIP
  2. Upload to plugins
  3. Activate it
@lightningspirit
lightningspirit / useFSM.tsx
Created September 6, 2022 13:39
Preact Hook Finite State Machine
import { useCallback, useEffect, useMemo, useState } from "preact/hooks"
class StateTransitionError extends Error {}
function useFSM<T extends string>(
transitions: Record<T, T[]>,
options: {
throwOnTransitionError?: boolean
} = { throwOnTransitionError: true },
) {