This module creates a wikitable that lists each section in a page along with that section's size in bytes. Each section is wikilinked to its target in the page; subsections are indented. Cells for section sizes are shaded according to the size; the smallest section's background is white, and the largest section's background is red.
Usage
editThis module has two entry points: size
, and section_size_get
.
size
edit
Use entry point size
to emit the section wikitable:
{{#invoke:Section sizes|size|<page name>|style=<style string>}}
Entry point size()
takes two arguments from frame
, one positional and one named:
<page name>
(required) – the first positional parameter is the page name; may include namespace|style=
(optional) – css string suitable for use in the wikitable'sstyle=
attribute; for example to render the table at the right side of the page:{{#invoke:Section sizes|size|<page name>|style=float:right; margin-left:.5em}}
Example
edit{{#invoke:Section sizes|size|Klingon language}}
|
section_size_get
edit
section_size_get
return an article or section size statistic:
{{#invoke:Section sizes|section_size_get|<page name>|[<section name|token>]|_all|_pct=yes |_nosep=yes}}
section_size_get
takes one to three positional parameters and two named parameters from frame
:
<page name>
(required) – the first positional parameter is the page name; may include namespace<section name|token>
(optional) – the second positional parameter is either the section name, or one of three tokens (if param 2 is absent, the default is the article's lead section)<section name>
– returns the size of the named section_lead
– returns the size of the lead section; default when second positional parameter is empty or omitted_max
– returns the size of the longest individual section_total
– returns the size of the article (should equal PAGESIZE)
_all
(optional) – the third positional parameter is the scope of the size measure; requires<section name>
; not supported for keywords; returns size of the named section plus the sizes of its subsections
Named parameters
edit|_nosep=
(optional) – no separator; accepts one value:yes
; section size emitted without thousands separators; ignored when|_pct=
is set (default: with separator)|_pct=
(optional) – percent; accepts one value:yes
; emits size of<section name>
,_lead
,_max
, or_total
as a percentage of_total
rounded to 2 decimals with a '%' symbol
Examples
editThese examples refer to the same article as shown in the size
example.
Sizes of a named section with and without its subsections (_all
):
{{#invoke:Section sizes|section_size_get| Klingon language | Phonology }}
→ 4,931{{#invoke:Section sizes|section_size_get| Klingon language | Phonology | _all }}
→ 12,216
Keywords:
{{#invoke:Section sizes|section_size_get| Klingon language | _lead }}
→ 5,513{{#invoke:Section sizes|section_size_get| Klingon language | _max }}
→ 8,662{{#invoke:Section sizes|section_size_get| Klingon language | _total }}
→ 65,206
Section sizes without thousands separator:
{{#invoke:Section sizes|section_size_get| Klingon language | Phonology | _nosep=yes }}
→ 4931{{#invoke:Section sizes|section_size_get| Klingon language | _total | _nosep=yes }}
→ 65206
Section sizes as a percentage of _total
:
{{#invoke:Section sizes|section_size_get| Klingon language | Phonology | _pct=yes }}
→ 7.56%{{#invoke:Section sizes|section_size_get| Klingon language | _lead | _pct=yes }}
→ 8.45%{{#invoke:Section sizes|section_size_get| Klingon language | _max | _pct=yes }}
→ 13.28%{{#invoke:Section sizes|section_size_get| Klingon language | _total | _pct=yes }}
→ 100.00%
See also
edit- Template:Section sizes, a pre-styled template for talk pages which invokes this module
- Template:Section length, a simple template which invokes it to request the length of one named section, or related info