Notes

Wide MDX CodeBlocks

Modification of the code blocks component on this site to include a 'wide' flag to break some of them out of the prose column using a Remark plugin and CSS overflow instead of grid spanning.

Create a CodeBlock Component for MDX

Replace MDX's default fenced-code output with a custom CodeBlock — syntax highlighting, copy button, and styling wired through compileMDX.

Update Apache on RHEL and Ubuntu

Check, apply, and verify Apache package updates on RHEL (httpd) and Ubuntu (apache2).

WordPress database import and export with WP-CLI

Two WP-CLI wrapper scripts for dumping and loading a WordPress database, with search-replace, plugin deactivation, and admin-user promotion on import.

First PM2 Deploy — Next.js Standalone + Apache Reverse Proxy

Setting up PM2 for the first time to run a Next.js standalone build behind an existing Apache reverse proxy on Ubuntu 24.

Generate a GitHub SSH key

Generate an ed25519 SSH key on Ubuntu, add it to GitHub, and keep ssh-agent running across sessions.

Switch a Git remote

Point origin fetch and push at a new URL, then verify with git fetch.

SourceTree Custom Action

Create a zip of only the files changed in a commit — for deployment handoffs without a full git archive.

Portfolio design system

The type, color, and layout decisions behind this site — documented as they happened rather than reconstructed after the fact.

Apache reverse proxy for Node.js

VirtualHost config to proxy Apache to a Node.js/PM2 process, with SSL and WebSocket support for Next.js.