Skip to content

Instantly share code, notes, and snippets.

View georgestephanis's full-sized avatar

George Stephanis georgestephanis

View GitHub Profile
@georgestephanis
georgestephanis / Leaders and Supports.md
Created June 26, 2026 13:49
11th Edition Leaders and Supports by faction

11th Edition: Leaders & Supports by Faction

Characters that can attach to other units, grouped by the slot they fill.


Adepta Sororitas

Leaders

@georgestephanis
georgestephanis / conversation-log.html
Last active June 22, 2026 20:28
Ever want to keep a log of conversations you have with claude in your projects, to serve as instructional tools or something to look at and review later? This'll do it, just drop the python file in `~/.claude/hooks/` and then drop the html file in your projects so it can render the generated jsonl file for you easily!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Conversation Log</title>
<script src="https://cdn.jsdelivr.net/npm/marked@15/marked.min.js"></script>
<style>
* { box-sizing: border-box; }
body {

Warhammer 40,000 (11th Edition) Core Rules Reference

A comprehensive rules reference for answering rules questions. Covers all major rules topics from the Core Rules PDF. Section numbers in parentheses reference the original document (e.g., 01.01).


Table of Contents

  1. Core Concepts
  2. Datasheets
@georgestephanis
georgestephanis / backlinks.sh
Created April 18, 2026 23:33 — forked from retlehs/CC.md
Backlinks for any domain via Common Crawl
@georgestephanis
georgestephanis / kadence-elements-preview-fix.php
Created March 17, 2026 13:57
If using Kadence Elements to override a template, the WordPress Block Editor's "Preview in new tab 🔗" link renders the saved version of the post, rather than the unsaved changes in the block editor that the user is trying to preview. This code will fix that, but only fix it for the post content -- if there are other unsaved changes such as postm…
<?php
/**
* Kadence Elements Preview Fix
*
* This plugin fixes the content for Kadence Elements previews in
* Gutenberg. When previewing, the unsaved content is spliced into
* $GLOBALS['post'], but Kadence runs pulling the saved content
* instead. This plugin ensures that the correct content is
* displayed in the preview.
*/
@georgestephanis
georgestephanis / wp-freeze.php
Last active February 4, 2026 17:59
Drop this file into `wp-content/mu-plugins/` and it will disable login and authentications. Why would you want this? Maybe you need to make an editorial freeze before migrating a site from one host to another, and don't want to risk admins writing content that would get lost in the migration.
<?php
// Usage: Drop this file into `wp-content/mu-plugins/` and it will disable logins and authentication.
namespace WPFreeze;
// In addition, the salts should be temporarily rotated in wp-config.php to invalidate existing sessions.
define( 'WP_FREEZE_MESSAGE', 'This site is currently frozen for maintenance. Please check back later.' );
<?php
// Plugin Name: George Load Time Debugging
function qm_track_current_action( $suffix = '' ) {
static $last_action = null;
if ( $last_action ) {
do_action( 'qm/stop', $last_action );
}
if ( function_exists( 'current_action' ) ) {
<?php
/**
* Plugin name: Georgestephanis Custom CSS
*/
namespace Georgestephanis\CustomCSS;
add_action( 'admin_menu', function() {
add_theme_page(
<?php
/**
* This code's purpose is to ensure that any clones of a
* site hosted on Atomic are run safely so that processes
* meant to happen only on production (emailing customers,
* api calls, cron jobs, etc) are properly removed and that
* Safety Net is appropriately configured.
*/
$cached_ATOMIC_SITE_ID = get_option( 'team51_ATOMIC_SITE_ID' );
@georgestephanis
georgestephanis / fourletters.php
Last active October 23, 2023 10:05
Implementation of Four Letters Word Game from BJ Homer's flash talk at Division Meetup
<?php
define( 'DICT_FILE', '/usr/share/dict/words' );
$allwords = file_get_contents( DICT_FILE );
$qty = preg_match_all( '/^\w{4}$/m', $allwords, $matches );
echo "\r\n\e[32mLoaded \e[37m{$qty}\e[32m four-letter words in from \e[37m" . DICT_FILE . "\e[32m ...\r\n\e[0m";
$fourletter = $matches[0];