Template:CatAutoTOC/core: Difference between revisions
meta>BrownHairedGirl oops! restore "CatAutoTOC=yes" parameter for calls to Template:Category TOC |
meta>BrownHairedGirl pass {{{pagecount}}} through to Template:Category TOC and Template:Large category TOC, to save them making another call to that expensive parser function |
||
Line 15: | Line 15: | ||
-->|<!-- | -->|<!-- | ||
# > 1200, so large TOC | # > 1200, so large TOC | ||
-->{{Large category TOC|CatAutoTOC=yes}}<!-- | -->{{Large category TOC<!-- | ||
-->|CatAutoTOC=yes<!-- | |||
-->|pagecount={{{pagecount}}}<!-- | |||
-->}}<!-- | |||
-->[[Category:CatAutoTOC generates Large category TOC|{{PAGENAME}}]]<!-- | -->[[Category:CatAutoTOC generates Large category TOC|{{PAGENAME}}]]<!-- | ||
-->|<!-- | -->|<!-- | ||
Line 23: | Line 26: | ||
# > 100, so std TOC | # > 100, so std TOC | ||
-->{{Category TOC<!-- | -->{{Category TOC<!-- | ||
-->|pagecount={{{pagecount}}}<!-- | |||
-->|CatAutoTOC=yes<!-- | -->|CatAutoTOC=yes<!-- | ||
-->|align = {{#if: {{{align|}}} | {{{align}}} |left}}<!-- | -->|align = {{#if: {{{align|}}} | {{{align}}} |left}}<!-- |
Revision as of 17:05, 19 April 2020
This template is used on approximately 509,000 pages, or roughly 7540% of all pages. To avoid major disruption and server load, any changes should be tested in the template's /sandbox or /testcases subpages, or in your own user subpage. The tested changes can be added to this page in a single edit. Consider discussing changes on the talk page before implementing them. |
This template uses Lua: |
Adds a Table of Contents (TOC) to a category page if the category's size warrants it.
The size thresholds are:
- <= 100 pages → no TOC
- 101–1200 pages → {{Category TOC}}
- > 1200 pages → {{Large category TOC}}
Usage
{{CatAutoTOC}}
On category pages, {{CatAutoTOC}}
can be placed wherever you want the TOC to be displayed.
On a category header template, it is best placed outside any <includeonly></includeonly>
tags, so that the template is categorised as using CatAutoTOC.
Parameters
No parameters are needed.
However, the parameters available {{Category TOC}} may be supplied, and if CatAutoTOC calls {{Category TOC}}, those parameters will be passed on to {{Category TOC}}.
So e.g. {{CatAutoTOC|align=center}}
will:
- Have no effect if no TOC is generated
- Align to the center if {{Category TOC}} is used
- Have no effect if {{Large category TOC}} is used, because {{Large category TOC}} accepts no parameters
Tracking
CatAutoToc effect | Pages | % |
---|---|---|
No TOC | 2 | 28.57% |
standard {{Category TOC}} | 4 | 57.14% |
{{Large category TOC}} | 1 | 14.29% |
Total | 7 | |
Each page using this template is categorised in one of three tracking categories:
- Category:CatAutoTOC generates no TOC
- Category:CatAutoTOC generates standard Category TOC
- Category:CatAutoTOC generates Large category TOC
Templates which transclude {{CatAutoTOC}} are categorised in
- Category:Templates using CatAutoTOC (population: 0)
... but only if the transclusion is outside any <noinclude></noinclude>
tags
Bugs
This template uses the magic word {{PAGESINCATEGORY}}
to count the number of pages in the category. Unfortunately, this function can return wildly erroneous results on some categories which have had many pages added and removed.
This bug is well-known, and has been documented in several places since 2010, including:
In the overwhelming majority of categories, the count is recorded accurately enough to support use of this template. However, there seemed to be some issue with {{PAGESINCATEGORY}}
falsely returning zero in some cases. This is tracked in:
- Category:CatAutoTOC on pages where PAGESINCATEGORY returns zero (population: 0)
As of 19 April 2020, that problem seems to have been fixed by a small but cunning tweak[1] to how {{PAGESINCATEGORY}}
is called.
The category should contain only pages labelled as "empty". Purge page to update totals