[OSM-talk] Lua modules are here: Improving OSM wiki templates

Yuri Astrakhan yuriastrakhan at gmail.com
Sun Jul 29 12:57:10 UTC 2018


Hi everyone.  Thanks to Tom Hughes, we now have Scribunto extension set up
on OSM wiki, which allows Lua language in addition to the very slow and
unreadable wiki template language.

Documentation:
* https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual
* https://en.wikipedia.org/wiki/Wikipedia:Lua

Benefits:
* Much better performance compared with wiki template language
* Substantially more readable
* Allows greater flexibility with how templates are set up

Migration:
The usual migration is to re-implement complex and often-used templates in
Lua (as a Module:* pages), and keep the existing template as a "wrapper" -
a one-liner with {{#invoke:mymodulepage|mymodulefunction}}.  This way
existing pages do not need to be changed, but get all the performance
benefits.

Template info:
Create a "doc" sub-page, e.g.  Module:<my_module>/doc  and put all the
documentation there.

Testing:
I would advise to create "unit tests" for the complex templates. The
simplest way is to create a   Module:<my_module_page>/doc   page with a
table of all possible usages of the module, There is also a good practice
page
https://en.wikipedia.org/wiki/Wikipedia:Lua#Unit_testing

Once again, thanks Tom for helping with this!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/talk/attachments/20180729/efe51aa8/attachment.html>


More information about the talk mailing list