<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" 
  xmlns:content="http://purl.org/rss/1.0/modules/content/" 
  xmlns:dc="http://purl.org/dc/elements/1.1/" 
  xmlns:atom="http://www.w3.org/2005/Atom" 
  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" 
  xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>leaguepedia on River Writes - A MediaWiki Blog</title>
    <link>https://river.me/tags/leaguepedia/</link>
    <description>RheingoldRiver&#39;s blog - MediaWiki development, Leaguepedia stories, and productivity hacks</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <copyright>©2020-2026, All Rights Reserved</copyright>
    <lastBuildDate>Tue, 18 Jan 2022 22:07:12 +0000</lastBuildDate>
    
        <atom:link href="https://river.me/tags/leaguepedia/index.xml" rel="self" type="application/rss+xml" />
    

      
      <item>
        <title>Toggleable columns</title>
        <link>https://river.me/blog/toggleable-columns/</link>
        <pubDate>Tue, 18 Jan 2022 22:07:12 +0000</pubDate>
        
        <atom:modified>Tue, 18 Jan 2022 22:07:12 +0000</atom:modified>
        <guid>https://river.me/blog/toggleable-columns/</guid>
        <description>A simple interface to automatically let users toggle columns in any data table on the entire wiki.</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>lua</category>
            
          
            
              <category>widgets</category>
            
          
            
              <category>javascript</category>
            
          
            
              <category>css</category>
            
          
            
              <category>leaguepedia</category>
            
          
            
              <category>mediawiki</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>Optimizing Cargo - query 3</title>
        <link>https://river.me/blog/optimizing-cargo-3/</link>
        <pubDate>Tue, 25 May 2021 22:07:05 +0000</pubDate>
        
        <atom:modified>Tue, 25 May 2021 22:07:05 +0000</atom:modified>
        <guid>https://river.me/blog/optimizing-cargo-3/</guid>
        <description>The final of three Cargo queries I recently optimized on Leaguepedia</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>Cargo</category>
            
          
            
              <category>Leaguepedia</category>
            
          
            
              <category>Lua</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>Optimizing Cargo - query 1</title>
        <link>https://river.me/blog/optimizing-cargo-1/</link>
        <pubDate>Wed, 28 Apr 2021 02:05:43 +0000</pubDate>
        
        <atom:modified>Wed, 28 Apr 2021 02:05:43 +0000</atom:modified>
        <guid>https://river.me/blog/optimizing-cargo-1/</guid>
        <description>A Cargo query I optimized recently on Leaguepedia</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>cargo</category>
            
          
            
              <category>leaguepedia</category>
            
          
            
              <category>lua</category>
            
          
            
              <category>lua_class_system</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>Tournament brackets (part 1)</title>
        <link>https://river.me/blog/tournament-brackets/</link>
        <pubDate>Tue, 30 Mar 2021 06:36:44 +0000</pubDate>
        
        <atom:modified>Tue, 30 Mar 2021 06:36:44 +0000</atom:modified>
        <guid>https://river.me/blog/tournament-brackets/</guid>
        <description>Our CSS-grid-powered tournament brackets on Leaguepedia</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>css</category>
            
          
            
              <category>html</category>
            
          
            
              <category>leaguepedia</category>
            
          
            
              <category>lua</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>Setting common match &amp; game keys</title>
        <link>https://river.me/blog/common-game-id/</link>
        <pubDate>Tue, 23 Mar 2021 02:33:50 +0000</pubDate>
        
        <atom:modified>Tue, 23 Mar 2021 02:33:50 +0000</atom:modified>
        <guid>https://river.me/blog/common-game-id/</guid>
        <description>How I corrected a mistake in my Cargo database design</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>cargo</category>
            
          
            
              <category>leaguepedia</category>
            
          
            
              <category>lua</category>
            
          
            
              <category>lua_class_system</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>Use cases for Extension:CustomLogs</title>
        <link>https://river.me/blog/customlogs-use-cases/</link>
        <pubDate>Tue, 09 Mar 2021 02:33:50 +0000</pubDate>
        
        <atom:modified>Tue, 09 Mar 2021 02:33:50 +0000</atom:modified>
        <guid>https://river.me/blog/customlogs-use-cases/</guid>
        <description>Use cases for my extension CustomLogs</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>caching</category>
            
          
            
              <category>javascript</category>
            
          
            
              <category>leaguepedia</category>
            
          
            
              <category>python</category>
            
          
            
              <category>mediawiki_extensions</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>Escape item[&#34;id&#34;]</title>
        <link>https://river.me/blog/escape-item-id/</link>
        <pubDate>Tue, 23 Feb 2021 19:59:37 +0000</pubDate>
        
        <atom:modified>Tue, 23 Feb 2021 19:59:37 +0000</atom:modified>
        <guid>https://river.me/blog/escape-item-id/</guid>
        <description>A funny commit I made today</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>cargo</category>
            
          
            
              <category>leaguepedia</category>
            
          
            
              <category>python</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>Non-unique item names</title>
        <link>https://river.me/blog/non-unique-item-names/</link>
        <pubDate>Tue, 29 Dec 2020 21:23:05 +0000</pubDate>
        
        <atom:modified>Tue, 29 Dec 2020 21:23:05 +0000</atom:modified>
        <guid>https://river.me/blog/non-unique-item-names/</guid>
        <description>In a recent patch, Riot introduced non-unique item names, and we had to create a system for dealing with this.</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>leaguepedia</category>
            
          
            
              <category>lua</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>Gadget - Line numbers in modules</title>
        <link>https://river.me/blog/line-numbers-modules/</link>
        <pubDate>Tue, 15 Dec 2020 23:58:32 +0000</pubDate>
        
        <atom:modified>Tue, 15 Dec 2020 23:58:32 +0000</atom:modified>
        <guid>https://river.me/blog/line-numbers-modules/</guid>
        <description>I add line numbers to Lua modules with JS &amp;amp; CSS.</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>gadget_tools</category>
            
          
            
              <category>javascript</category>
            
          
            
              <category>css</category>
            
          
            
              <category>leaguepedia</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>Gadget - Search results new page hotkey</title>
        <link>https://river.me/blog/search-new-page-hotkey/</link>
        <pubDate>Tue, 17 Nov 2020 05:03:04 +0000</pubDate>
        
        <atom:modified>Tue, 17 Nov 2020 05:03:04 +0000</atom:modified>
        <guid>https://river.me/blog/search-new-page-hotkey/</guid>
        <description>Let&amp;rsquo;s make a gadget so that Alt+Shift+E creates a new page from the Special:Search screen when a page doesn&amp;rsquo;t exist!</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>gadget_tools</category>
            
          
            
              <category>javascript</category>
            
          
            
              <category>leaguepedia</category>
            
          
            
              <category>autohotkey</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>Gadget - Disable Display Title</title>
        <link>https://river.me/blog/disable-display-title/</link>
        <pubDate>Tue, 03 Nov 2020 06:07:53 +0000</pubDate>
        
        <atom:modified>Tue, 03 Nov 2020 06:07:53 +0000</atom:modified>
        <guid>https://river.me/blog/disable-display-title/</guid>
        <description>A small JS gadget to disable display title for wiki editors</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>gadget_tools</category>
            
          
            
              <category>javascript</category>
            
          
            
              <category>leaguepedia</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>Multi-Instance Subtemplates in Lua</title>
        <link>https://river.me/blog/lua-multi-instance-subtemplates/</link>
        <pubDate>Tue, 20 Oct 2020 04:44:14 +0000</pubDate>
        
        <atom:modified>Tue, 20 Oct 2020 04:44:14 +0000</atom:modified>
        <guid>https://river.me/blog/lua-multi-instance-subtemplates/</guid>
        <description>We can serialize arguments from multi-instance subtemplates when working with Lua and retrieve our data in easy-to-work-with arrays using simple wrapper functions.</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>lua</category>
            
          
            
              <category>mediawiki</category>
            
          
            
              <category>leaguepedia</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>Top Schedule</title>
        <link>https://river.me/blog/top-schedule/</link>
        <pubDate>Tue, 06 Oct 2020 13:25:44 +0000</pubDate>
        
        <atom:modified>Tue, 06 Oct 2020 13:25:44 +0000</atom:modified>
        <guid>https://river.me/blog/top-schedule/</guid>
        <description>How I created a global site banner on Leaguepedia using the extension Header Footer and some JavaScript, but no api calls</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>caching</category>
            
          
            
              <category>leaguepedia</category>
            
          
            
              <category>mediawiki</category>
            
          
            
              <category>python</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>Your URL bar is a CLI</title>
        <link>https://river.me/blog/url-bar-is-a-cli/</link>
        <pubDate>Tue, 08 Sep 2020 02:32:49 +0000</pubDate>
        
        <atom:modified>Tue, 08 Sep 2020 02:32:49 +0000</atom:modified>
        <guid>https://river.me/blog/url-bar-is-a-cli/</guid>
        <description>When working with wikis, you can use your URL bar as a CLI-like interface for navigation, making your life a lot easier and more efficient!</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>firefox</category>
            
          
            
              <category>leaguepedia</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>CompoundRole</title>
        <link>https://river.me/blog/compound-role/</link>
        <pubDate>Wed, 26 Aug 2020 16:50:18 +0000</pubDate>
        
        <atom:modified>Wed, 26 Aug 2020 16:50:18 +0000</atom:modified>
        <guid>https://river.me/blog/compound-role/</guid>
        <description>A bunch of things I did wrong because learning is fun!</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>leaguepedia</category>
            
          
            
              <category>lua</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>How to rename Cargo tables safely</title>
        <link>https://river.me/blog/rename-cargo-tables-safely/</link>
        <pubDate>Tue, 11 Aug 2020 01:08:14 +0000</pubDate>
        
        <atom:modified>Tue, 11 Aug 2020 01:08:14 +0000</atom:modified>
        <guid>https://river.me/blog/rename-cargo-tables-safely/</guid>
        <description>Cargo actually provides a way to cleanly rename tables without any &amp;ldquo;downtime,&amp;rdquo; but it&amp;rsquo;s not obvious or documented how to do this.</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>caching</category>
            
          
            
              <category>cargo</category>
            
          
            
              <category>leaguepedia</category>
            
          
            
              <category>best_practices</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>Use cases for Highlight Links in Category</title>
        <link>https://river.me/blog/highlight-links-in-category/</link>
        <pubDate>Tue, 30 Jun 2020 23:21:53 +0000</pubDate>
        
        <atom:modified>Tue, 30 Jun 2020 23:21:53 +0000</atom:modified>
        <guid>https://river.me/blog/highlight-links-in-category/</guid>
        <description>Highlight Links In Category is a very small MediaWiki extension that applies classes to links based on the links&amp;rsquo; targets&amp;rsquo; categories. It has a number of incredibly nice use cases; here I give some examples.</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>mediawiki</category>
            
          
            
              <category>mediawiki_extensions</category>
            
          
            
              <category>leaguepedia</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>Adventures in caching primary keys</title>
        <link>https://river.me/blog/primary-key-caching-adventures/</link>
        <pubDate>Tue, 16 Jun 2020 20:39:18 +0000</pubDate>
        
        <atom:modified>Tue, 16 Jun 2020 20:39:18 +0000</atom:modified>
        <guid>https://river.me/blog/primary-key-caching-adventures/</guid>
        <description>The pattern of store -&amp;gt; query -&amp;gt; store -&amp;gt; query can lead to caching nightmares when working with Cargo or SMW in MediaWiki. This is the story of how I dealt with one.</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>cargo</category>
            
          
            
              <category>caching</category>
            
          
            
              <category>leaguepedia</category>
            
          
            
              <category>lua</category>
            
          
            
              <category>mediawiki</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>The Anti-Thanos Snap That Wasn&#39;t</title>
        <link>https://river.me/blog/anti-thanos-april-fools/</link>
        <pubDate>Tue, 31 Mar 2020 01:08:42 +0000</pubDate>
        
        <atom:modified>Tue, 31 Mar 2020 01:08:42 +0000</atom:modified>
        <guid>https://river.me/blog/anti-thanos-april-fools/</guid>
        <description>The story of the April Fools Day joke for 2020 that I didn&amp;rsquo;t do, and the &amp;ldquo;Snap&amp;rdquo; that we may or may not still do.</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>leaguepedia</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>Determining team members from roster change data: A Leaguepedia case study</title>
        <link>https://river.me/blog/team-members-cargo-options/</link>
        <pubDate>Tue, 18 Feb 2020 23:55:49 +0000</pubDate>
        
        <atom:modified>Tue, 18 Feb 2020 23:55:49 +0000</atom:modified>
        <guid>https://river.me/blog/team-members-cargo-options/</guid>
        <description>Managing complexity using Cargo with MediaWiki to track League of Legends esports roster changes.</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>caching</category>
            
          
            
              <category>cargo</category>
            
          
            
              <category>leaguepedia</category>
            
          
            
              <category>mediawiki</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>New Roster Changes</title>
        <link>https://river.me/blog/new-roster-changes/</link>
        <pubDate>Wed, 01 Jan 2020 18:03:16 +0000</pubDate>
        
        <atom:modified>Wed, 01 Jan 2020 18:03:16 +0000</atom:modified>
        <guid>https://river.me/blog/new-roster-changes/</guid>
        <description>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 &lt;a href=&#34;https://lol.gamepedia.com/User:RheingoldRiver/Blog/New_Roster_Changes&#34;&gt;user page&lt;/a&gt; on Leaguepedia.</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>leaguepedia</category>
            
          
            
              <category>mediawiki</category>
            
          
            
              <category>cargo</category>
            
          
        
        
        
      </item>
      

    
  </channel>
</rss>
