Toggleable columns
· ☕ 9 min read · ✍️ River
A simple interface to automatically let users toggle columns in any data table on the entire wiki.

How to find a namespace number
· ☕ 3 min read · ✍️ River
There's a number (haha) of ways to find namespace numbers; this is the one I find to be the easiest (plus some bonus options)

Make lots of sandbox pages
· ☕ 5 min read · ✍️ River
Instead of putting all of your code experiments on a single page, make lots of little sandbox pages!

Comment your closing braces
· ☕ 6 min read · ✍️ River
This one trick will save you 80% of your wikitext debugging time!

Multi-Instance Subtemplates in Lua
· ☕ 8 min read · ✍️ River
Multi-instance subtemplates are common in MediaWiki; when we're using Lua, they can be much more powerful than in wikitext.

Top Schedule
· ☕ 8 min read · ✍️ River
How I created a global site banner on Leaguepedia using the extension Header Footer and some JavaScript, but no api calls

Bot passwords & you (& your bot (& you))
· ☕ 8 min read · ✍️ River
What's a bot password? What's the difference between bot accounts and bot passwords? Why do I need all this anyway?

Adventures in caching primary keys
· ☕ 15 min read · ✍️ River
The pattern of store -> query -> store -> query can lead to caching nightmares when working with Cargo or SMW in MediaWiki. This is the story of how I dealt with one.

· ☕ 25 min read · ✍️ River
Here's how I've built a framework for both static and lazily-loaded popups.

Highlighting disambiguations
· ☕ 29 min read · ✍️ River
Disambiguations are typically somewhat user-unfriendly; I describe my method for improving quality of life when disambiguation links do appear.

CharInsert: Why you should "char"
· ☕ 12 min read · ✍️ River
CharInsert is one of my favorite extensions. Here's how I made a Lua wrapper for it to create a user-friendly interface for anyone to add snippets they want.