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

edit

This 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's style= 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

edit

These 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