Module:User/doc
This module implements {{user}}, {{user2}}, {{user3}}, {{user4}}, {{user5}}, {{user6}}, {{user7}}, {{user8}}, {{admin}}, and {{former admin}}. For documentation, please see the template page.
Technical details
While the {{user}} template is only a wrapper for Module:UserLinks, by implementing it as a Lua module we make significant gains in performance. It is roughly twice as fast as accessing Module:UserLinks from wikitext. For example, this module rendered a test page containing nothing but 1000 {{user}} transclusions in 3.9 seconds, whereas the version that called Module:UserLinks from wikitext rendered it in 7.7 seconds.
The performance gains are achieved by reducing the number of parameters that are looked up from wikitext. In particular, the link codes, "t" and "c", along with the "span=no" option, are passed directly to UserLinks. Also, UserLinks looks up the arguments "user", "User", "project", "Project", "lang", and "Lang". From wikitext, each parameter is checked twice – once for the #invoke text and once for the calling template – and each check is relatively resource-heavy. From Lua, each parameter is only checked once, and the individual checks take much less time. This means that on average, maybe nine argument lookups are saved in each invocation by using this module. On pages with hundreds or thousands of invocations, this adds up to a lot of argument lookups saved.
Examples
- {{user}}:
{{#invoke:User||Example}}→ Example (talk · contribs) - {{user2}}:
{{#invoke:User|2|Example}}→ Example (talk · contribs · count) - {{user3}}:
{{#invoke:User|3|Example}}→ Example (talk · contribs · logs) - {{user4}}:
{{#invoke:User|4|Example}}→ Example (talk · contribs · email) - {{user5}}:
{{#invoke:User|5|Example}}→ Example (talk · contribs · deleted contribs · page moves · block user · block log) - {{user6}}:
{{#invoke:User|6|Example}}→ Example (talk · contribs · count · logs · page moves · block log) - {{user7}}:
{{#invoke:User|7|Example}}→ Example (talk · contribs · count · logs · email) - {{user8}}:
{{#invoke:User|8|Example}}→ Example (talk · contribs · central auth · count · email) - {{admin}}:
{{#invoke:User|admin|Example}}→ Example (talk · contribs · blocks · protections · deletions · page moves · rights · RfA) - {{former admin}}:
{{#invoke:User|former admin|Example}}→ Example (talk · contribs · former admin: · blocks · protections · deletions · rights · meta · local rights)
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.