Showing content from https://www.mediawiki.org/wiki/Extension:Scribunto/Deployment_priorities below:
Extension:Scribunto/Deployment priorities - MediaWiki
This page is
outdated
.
It was written for an older version of MediaWiki and may not apply to the most recent version. If you have checked or updated this page and found the content to be suitable, please remove this notice.
This list is completely unofficial, but it reflects MZMcBride's thoughts about what the priorities were prior to widespread deployment of Scribunto/Lua to Wikimedia wikis.
- Support for Lua in mwlib (Collection extension)
- (bugzilla:39610) Scribunto should support global module invocations
- (bugzilla:39605) Auto-categorize Scribunto module pages that contain errors
- (bugzilla:39606) Auto-categorize pages containing script errors from Scribunto module invocations
- (bugzilla:39646) Scribunto needs sane Unicode string support
- Can use a pure-Lua UTF-8 decoder, like the one in require('luabit/utf8.lua')
- → mw.ustring allows to treat UTF-8 strings
os.date()
with support for at least "!*t"
and "*t"
formats; and os.time()
- 280 thousand pages on the English Wikipedia use its w:en:Template:Birth date and age template, and they all expect to be able to obtain the current date in a broken down form so that they can do calendar arithmetic.
- Other templates also use the current date and time. See w:en:Template:Indian population clock for example.
- A Lua program should be able to obtain everything that non-Scribunto templates can obtain through
{{CURRENTYEAR}}, {{CURRENTMONTH}}, {{CURRENTMONTHNAME}}, {{CURRENTMONTHNAMEGEN}}, {{CURRENTMONTHABBREV}}, {{CURRENTDAY}}, {{CURRENTDAY2}}, {{CURRENTDOW}}, {{CURRENTDAYNAME}}, {{CURRENTTIME}}, {{CURRENTHOUR}}, and {{CURRENTWEEK}}
[1].
- → "*t" and "!*t" works. Moreover mw.language allows to get localized object to have local time (and not server local time)
mw.page.title.name
[1]
- Lots of English Wikipedia templates have default title to name of current page semantics.
- Some templates have special behavior depending on the fact that name=title or not.
- → mw.title included. mw.title.getCurrentTitle() is a table with lot of data related to current page (including title)
mw.page.title.namespaceName
and mw.page.title.namespace
[1]
- Lots of English Wikipedia maintenance templates effectively do the
{{#switch:{{NAMESPACENUMBER}}}}
trick.
- Non maintenance templates use this to prevent including article categories in other namespaces (i.e. docs or talk pages).
- → mw.title included. Same than page title.
mw.text.escape()
, mw.url.encode()
, mw.url.encodeAnchor()
- Of course, these can be done in Lua. But these encoders are used frequently. The English Wikipedia's citation templates need to URL encode COinS data, for example. A C implementation would be faster than a Lua one.
- → mw.uri library does this stuff.
mw.text.tag()
- Same as the encoders above. This is used a lot.
- → same
mw.url.local()
and mw.url.full()
- Navigation boxes on the English Wikipedia need these for their "v·d·e" links.
- → same
mw.page.talk
and mw.page.subject
- → mw.title + mw.uri should do the work.
- An
{{#ifexist:}}
equivalent.
- the string library is broken on strings that come from template parameters if they include some tags (i.e. <nowiki> and <pre>). string functions act as if they can only see the special encoding of the first tag (example: passing "<pre>my string</pre>" to a template is see by the module as a 39 bytes length string (whatever the string content), which is the length of the encoded "<pre>" tag. This also prevent string functions to search or modify the "real" string content. See bug report
- ↑ 1.0 1.1 1.2 Of course this can be simulated using
frame:preprocess("{{THE-PSEUDO-TEMPLATE}}")
. But 1. this is maybe not the most efficient way to perform this and 2. a metatable to perform/store this − like for the args table − should be cleaner and would allow future improvements without impacting users code.
- (bugzilla:39609) Limit scope of title-based syntax highlighting
- → done. Subpage /doc is treated as a documentation page, automaticaly included at the begining of module page. It also allows to add categories.
Deployment following[edit]
These dates can be later than the true ones, because they are followed by final users.
RetroSearch is an open source project built by @garambo
| Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4