Gadgets for code organization
· ☕ 6 min read · ✍️ River
Though it’s mostly used as a way to let wikis have opt-in or opt-out CSS and JS features for users, the Gadgets extension is a great way to organize code instead of using Common.css and Common.js for everything.

Lua Hooks System
· ☕ 8 min read · ✍️ River
A system of hooks in Scribunto can be reasonable to use if you have a wikifarm with synced code that occasionally needs to be slightly modified on one or more wikis. I found the system more complicated than it was worth, but I’m documenting it here before I remove it.

Using the Mediawiki API without coding
· ☕ 13 min read · ✍️ River
Using the MediaWiki API doesn’t require coding. The on-wiki GUI provided at Special:ApiSandbox allows you to familiarize yourself with available actions, test queries, and run simple batch jobs without writing a single line of code!

How to add Cargo docstrings on table pages
· ☕ 6 min read · ✍️ River
This is not a post about how to add Cargo docstrings on table pages. Rather, it’s a post about how to create workarounds in MediaWiki in a reasonably well-controlled manner.

New Roster Changes
· ☕ 24 min read · ✍️ River
An overview of the process I used to create our single-source-of-truth roster change database tables on Leaguepedia. This post originally was created as a user page on Leaguepedia.