Template:WikiProject Lua/header

This is the Lua project's to-do list. Here we list templates to be converted to Lua, and other Lua-related tasks to be done.

Templates to be converted

Template Difficulty Notes
Template:Article history Hard This one is long and complex. Will take a while to do.
Template:Asia topic, Template:Europe topic, etc. Medium These templates have a lot of shared code, so one module should probably do for all of them. The country names can be loaded using mw.loadData from a separate data module. It would also be useful to add a custom link parameter for each country, as at the moment editors have to go through and check that all the relevant redirects have been created. It would be much easier to just specify the correct link in the template if it is different from the one that is automatically generated.
Template:Automatic taxobox Hardest This template may be even more complex than Template:WPBannerMeta (listed below). It has a large number of subtemplates, many of which were created by User:Taxobot (blocked back in 2011). Much of the complexity is introduced by attempting to emulate a recursive algorithm in template code, which could be greatly simplified with Lua. It will not be simple to convert, though. Just understanding the system of templates will require significant effort, and some careful thought will be required about the architecture of the module(s) and data module(s). It would also be worth thinking how a Lua module system could interact with a (new?) bot, in order to keep the taxonomic data up to date. Required reading: Template:Automatic taxobox/doc/gory technical details.
Template:Db-multiple Medium Calls Template:Csdcheck, which has already been converted to Lua. Otherwise only has one subtemplate. We could probably do with centralising the data about the different CSD criteria, as it is used in a lot of different places and is a pain to update when criteria are added and removed. But this can always be done later.
Template:Dts and Template:Dtsa Medium The structure of the main template is not that complex, but there are quite a few subpages which could make conversion tricky. This runs very slowly on long lists, so converting it to Lua will win you the eternal gratitude of editors who frequent pages like Wikipedia:Four Award. This has been awaiting conversion to Lua since September 2013 - see the TfD discussion. If you have the time, the best solution would be to create a module for both date-sorting templates like these and number-sorting templates like ((nts)). I suggest the name Module:Wikitable sorter, but that part is optional.
I have an initial version here Module:Sandbox/Dts Tsahee. Some Qs in the modules talk page. (talk)
Template:Find sources multi Medium The main template is fairly straightforward, but there are various helper templates for the documentation, some of which will need to be added to the replacement module as well. There is also one subtemplate for every search engine listed, which makes the subtemplate count relatively high.
Template:Multiple issues Medium Very visible template - appears at the top of 90,000 mainspace pages. Not so complicated, but quite long, and errors would be noticed. One subtemplate.
A Google Code-in student is working on this template.--Qgil (talk) 00:43, 10 December 2013 (UTC)[reply]
I've created Module:Multiple issues with my work so far. Testcases are at Template:Multiple issues/sandbox lua – it currently appears to pass all of them, but (@Mr. Stradivarius:) some code review would be great (maybe there are more efficient ways to do things? or weird Lua quirks I'm missing? or a way to avoid having to use pcall(), which just feels ugly?). Thanks! Theopolisme (talk) 01:00, 10 December 2013 (UTC)[reply]
Template:NewDYKnomination Medium There is a lot of code in this one, but much of it should be easy to simplify.
Template:Old AfD multi Easy No subtemplates, and not all that complicated. Could do with using a for loop to be able to list any number of AfD discussions, rather than just 10. (There are actually a few articles out there that have been to AfD more than 10 times. <shudder>)
Proposed as a Google Code-in task.--Qgil (talk) 00:49, 10 December 2013 (UTC)[reply]
I've created Module:Old AfD multi, with testcases under "sandbox" at Template:Old AfD multi/testcases. Compared to ((multiple issues)) this actually took a bit longer to develop -- maybe that was just me, though :). See also Template_talk:Old_AfD_multi#Lua_rewrite. Theopolisme (talk) 07:27, 14 December 2013 (UTC)[reply]
Template:Pp-meta Hard This template calls ((PROTECTIONLEVEL)) and ((PENDINGCHANGELEVEL)), which are not yet available from lua, so will have to be implemented with frame:preprocess. Also, some of the functionality from the individual protection templates should probably be moved to the module, which bumps this up from a medium/hard to a hard.
Template:Round16 medium/hard This could be simplified a lot by using Lua. You get bonus points for extending it to rounds of 2, 4 and 8 as well. 32 and above probably won't fit on people's screens.
Maybe something could be get from Module:TeamBracket? --Edgars2007 (talk/contribs) 11:04, 11 April 2014 (UTC)[reply]
Template:WPBannerMeta Hardest This may be the most complicated template on Wikipedia, although there are a couple of other strong contenders. This has many subtemplates, is very complex, and really needs to be rewritten completely rather than being converted. Needs to play nicely with third-party tools such as User:Kephir/gadgets/rater. There has already been some work at Module:WikiProjectBanner, but progress has stalled as of Dec 2013.
Template:Val
Template:Episode list and Template:Episode list/sublist List of The Simpsons episodes has pushed the limits of this design. See Talk:List of The Simpsons episodes#Article needs to be split or condensed somehow and Template talk:Episode list/sublist#Template limits being exceeded. Wbm1058 (talk) 18:55, 18 May 2014 (UTC)[reply]
From the looks of it, this is just a problem of too many templates. Sounds like a fairly easy thing to turn into a module, so I'll try it; looks like no one else has gone after it yet. moluɐɯ 14:19, 7 July 2014 (UTC)[reply]
I have a lot Module:Episode list working (with 2 basic examples on my sandbox). moluɐɯ 16:03, 7 July 2014 (UTC)[reply]

Other tasks