Difference between revisions of "Template:CatAutoTOC"
(Gwyneth Llewelyn moved page Template:CatAutoTOC to Template:CatAutoTOC/core: Wrongly placed on main page; this is actually supposed to be a subpage instead; redirect will be cleared shortly and rewritten as main page) Tag: New redirect |
m (Trying to figure out where exactly this breaks; I suppose it's on {{Str endswith}} but need to check) |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
# | <includeonly><!-- | ||
# TOC, depending on category size | |||
# < 100 pages = no TOC | |||
# 100–1200 pages = {{Category TOC}} | |||
# > 1200 pages = {{Large category TOC}} | |||
-->{{Category other|<!-- | |||
################################################################################# | |||
#### This is a category page, so generate a TOC if needed. #### | |||
#### #### | |||
#### Use a sub-template [[Template:CatAutoTOC/core]], so that we never have #### | |||
#### more than one call to the {{Wikipedia|WP:EXPENSIVE}} function {{PAGESINCATEGORY}} #### | |||
################################################################################# | |||
--> | |||
{{CatAutoTOC/core<!-- | |||
-->|pagecount={{PAGESINCATEGORY|{{PAGENAME}}|R}}<!-- | |||
-->}} | |||
<!-- | |||
-->}}<!-- | |||
--> | |||
{{Template other<!-- | |||
-->|<!-- | |||
################################################################################# | |||
#### This page is a template, so categorise it #### | |||
#### in [[Category:Templates using CatAutoTOC]] ... #### | |||
#### #### | |||
#### ... unless it is a /doc, /testcases or /sandbox #### | |||
#### #### | |||
#### There is no point categorising every sub-page of the same template #### | |||
################################################################################# | |||
-->{{#if: {{Str endswith|{{PAGENAME}}|/doc}}{{Str endswith|{{PAGENAME}}|/testcases}}{{Str endswith|{{PAGENAME}}|/sandbox}}<!-- | |||
-->|<!-- | |||
### Don't categorise /doc, /testcases or /sandbox pages | |||
-->|<!-- | |||
### Not a /doc, /testcases or /sandbox page, so categorise it | |||
-->[[Category:Templates using CatAutoTOC]]<!-- | |||
-->}}<!-- | |||
-->}} | |||
</includeonly><noinclude> | |||
{{Documentation}} | |||
[[Category:CatAutoTOC]] | |||
</noinclude> |
Latest revision as of 15:58, 11 February 2023
Note to editors: Please don't categorize this template by editing it directly. Instead, place the category in its documentation page, in its "includeonly" section.
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
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: 1)
As of 19 April 2020, that problem seems to have been fixed by a small but cunning tweak to how {{PAGESINCATEGORY}}
is called.
The category should contain only pages labelled as "empty". Purge page to update totals
See also
- {{CatAutoTOC}} — auto-selects no TOC, {{Category TOC}}, or {{Large category TOC}}
- {{Category TOC}}
- {{Category TOC custom}}
- {{Category TOC ATC}}
- {{Category TOC Unicode}}
- {{Collapsible large category TOC}}
- {{Large category TOC}}
- {{Large category TOC numeric}}
- {{Large category TOC years only}}
- {{Compact TOC}} — for articles