Template:CompactTOC8/doc
{{#if: |
{{#if:x||
}} |{{#ifeq: doc | doc
|
{{
#ifeq: show | show
|
}}{{ #if: | | [[Category:{{ #if: Template | Template | Article }} documentation]] }}
| }}}}
{{#ifeq:File:Ambox warning yellow.svg|none | | }} {{#if: |}}
{{#if:File:Ambox warning yellow.svg | File:Ambox warning yellow.svg | {{#switch:style | speedy = File:Imbox speedy deletion.png | delete = File:Imbox deletion.png | content = File:Imbox content.png | style = File:Imbox style.png | move = File:Imbox move.png | protection = File:Imbox protection.png | notice | #default = File:Imbox notice.png }}}} | This template employs intricate features of template syntax. You are encouraged to familiarise yourself with its setup and parser functions before editing the template. If your edit causes unexpected problems, please undo it quickly, as this template may appear on a large number of pages. Remember that you can conduct experiments, and should test all improvements, in either the {{#switch:
{{#ifexist:Template:CompactTOC8/doc/sandbox |sandbox | {{#ifexist:Template:CompactTOC8/doc/Sandbox |Sandbox | {{#ifexist:Template:CompactTOC8/doc/test sandbox|test sandbox| {{#ifexist:Template:CompactTOC8/doc/Test sandbox|Test sandbox| {{#ifexist:Template:CompactTOC8/doc/test |test | {{#ifexist:Template:CompactTOC8/doc/Test |Test | }} }} }} }} }} }} | sandbox = local /sandbox | Sandbox = local /Sandbox | test sandbox = local /test sandbox | Test sandbox = local /Test sandbox | test = local /test | Test = local /Test | #default = general Template sandbox}} or your user space before changing anything here. | {{{imageright}}} |
Purpose
This Table of Contents replacement for alphabetical lists provides all the features of Template:CompactTOC7, plus ones from Template:CompactTOC2, etc. that #7 doesn't have (the "Top" "0-9" sections, optionally), and allows you to select what other sections you want. Even the centering is optional, and you can have the "Contents" heading on the top (default) or the side.
Usage
Typical:
{{CompactTOC8|symnum=yes}}
For alphabetical only (no number or symbol entries):
{{CompactTOC8}}
For maximum number of features and centered placement (leave off a parameter or change it to blank or "no" to disable a feature)
{{CompactTOC8 |name= |side=yes |center=yes |right= |align=center |nobreak=yes |top=yes |num=yes |sym=yes |symnum= |custom1= |custom1name= |custom1link= ... |custom5= |custom5name= |custom5link= |seealso=yes |notesfirst= |refs=yes |notes=yes |extlinks=yes |a= ... |z= }}
Parameters
name=
— change the heading to an alternative name instead of "Contents", or hide it completely by enteringname=no
side=yes
— put the "Contents" heading on the left side with a colon, instead of the top without onecenter=yes
— center to ToC in the horizontal middle of the page, instead of floated leftright=yes
— align the ToC horizontally to the right of the page (may require<br style="clear:right;" />
after it, depending on page layout), instead of floated left (this parameter is mutually exclusive with the "center" option above, and should be used sparingly and with good reason)align=
— sets the alignment of the links inside the table; default is left; usecenter
,right
orleft
nobreak=yes
— no linebreak between the A-B-C-etc. stuff and the See also/References/etc. stuff (note: does not affect the heading; useside=
for that)top=yes
— enable the "Top" link; this is only useful if this copy of the ToC is a secondary ToC not at the top of the page, e.g. in the middle of a long glossary. (Every rendered page has a hidden<a name="top" id="top"></a>
above the sitenotice which makes this link work without having to do anything but enable it in the template.)sym=yes
— enable the "!$@" link for symbolic entries sectionnum=yes
— enable the "0–9" link for numeric entries section (create a heading of==0–9==
for the link to work)symnum=yes
— enable the "!–9" link for combined symbolic and numeric entries section (create a heading of==!–9==
for the link to work)custom1
tocustom5
— add up to 5 extra "custom" sections at the end of the list. These appear as [[#custom1|custom1]].custom1name
tocustom5name
— modifies the way the custom section headers appear: [[#custom1|custom1name]]custom1link
tocustom5link
— modifies the targets of the custom sections: [[custom1link|custom1]]. Use this only for linking to another page. Use sparingly! About the only legitimate use for this is connecting the sub-pages of multi-page articles, like long lists that have been broken up. Do not repurpose the ToC as a makeshift navbox.seealso=yes
— enable link to the "See also" sectionrefs=yes
— enable link to the "References" section (observe that it is plural)notes=yes
— enable link to the "Notes" section (observe that it is plural)notesfirst=yes
— enable link to the "Notes" section, but placed before "References"; do not use withnotes
(and do observe that it is plural)extlinks=yes
— enable link to the "External links" sectiona=
throughz=
— individually disable particular letters that have no entries. Use with caution and check regularly to make sure that new entries do not require the removal of this parameters. Can also be used to create range links, e.g. "X-Z". (See #Letters below for more detailed documentation of this feature.)
Letters
Any letter can be deleted (i.e. because it has no entries in the list) by adding it as a lower case blank parameter {{CompactTOC8{{#if:side=yes| |side=yes }}{{#if:j=| |j= }}{{#if:q=| |q= }}{{#if:| |{{{5}}} }}{{#if:| |{{{6}}} }}{{#if:| |{{{7}}} }}{{#if:| |{{{8}}} }}{{#if:| |{{{9}}} }}{{#if:| |{{{10}}} }}{{#if:| |{{{11}}} }}{{#if:| |... }}}}
{{#ifeq:|no||! Contents{{#ifeq:yes|yes|:|}} {{#ifeq:yes|yes||||-}}}}short1|yes|}}|yes | yes|Top |}} {{#ifeq:|yes|!$@|}} {{#ifeq:|yes|0–9|}} {{#ifeq:|yes|!–9|}} A B C D E F G H I K L M N O P R S T U V W X Y Z {{#ifeq:{{#ifeq:{{{1}}}|short1|yes|}}|yes| | }}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}} {{#ifeq:|yes|See also |}} {{#ifeq:|yes|Notes |}} {{#ifeq:{{#ifeq:|short1|yes|}}|yes|}} {{#ifeq:|yes|Notes |}} {{#ifeq:|yes|External links|}} |
Or it can be replaced with an unlinked letter by using that letter (upper case): {{CompactTOC8{{#if:side=yes| |side=yes }}{{#if:j=J| |j=J }}{{#if:q=Q| |q=Q }}{{#if:| |{{{5}}} }}{{#if:| |{{{6}}} }}{{#if:| |{{{7}}} }}{{#if:| |{{{8}}} }}{{#if:| |{{{9}}} }}{{#if:| |{{{10}}} }}{{#if:| |{{{11}}} }}{{#if:| |... }}}}
{{#ifeq:|no||! Contents{{#ifeq:yes|yes|:|}} {{#ifeq:yes|yes||||-}}}}short1|yes|}}|yes | yes|Top |}} {{#ifeq:|yes|!$@|}} {{#ifeq:|yes|0–9|}} {{#ifeq:|yes|!–9|}} A B C D E F G H I J K L M N O P Q R S T U V W X Y Z {{#ifeq:{{#ifeq:{{{1}}}|short1|yes|}}|yes| | }}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}} {{#ifeq:|yes|See also |}} {{#ifeq:|yes|Notes |}} {{#ifeq:{{#ifeq:|short1|yes|}}|yes|}} {{#ifeq:|yes|Notes |}} {{#ifeq:|yes|External links|}} |
Note: It is often better to create an empty placeholder span (e.g. <span id="Q" />
where the letter's heading would be in the page if it existed, since in most cases it is quite possible that it will come to exist in the future.
This feature can also be used to create range links:
{{CompactTOC8{{#if:side=yes| |side=yes }}{{#if:x=[[#X-Z|X-Z]]| |x=[[#X-Z|X-Z]] }}{{#if:y=| |y= }}{{#if:z=| |z= }}{{#if:| |{{{6}}} }}{{#if:| |{{{7}}} }}{{#if:| |{{{8}}} }}{{#if:| |{{{9}}} }}{{#if:| |{{{10}}} }}{{#if:| |{{{11}}} }}{{#if:| |... }}}}
{{#ifeq:|no||! Contents{{#ifeq:yes|yes|:|}} {{#ifeq:yes|yes||||-}}}}short1|yes|}}|yes | yes|Top |}} {{#ifeq:|yes|!$@|}} {{#ifeq:|yes|0–9|}} {{#ifeq:|yes|!–9|}} A B C D E F G H I J K L M N O P Q R S T U V W X-Z {{#ifeq:{{#ifeq:{{{1}}}|short1|yes|}}|yes| | }}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}} {{#ifeq:|yes|See also |}} {{#ifeq:|yes|Notes |}} {{#ifeq:{{#ifeq:|short1|yes|}}|yes|}} {{#ifeq:|yes|Notes |}} {{#ifeq:|yes|External links|}} |
Shorthand
short1
can be used as the very first parameter (beforename=
) for shortening a common usage:
{{CompactTOC8{{#if:short1| |short1 }}{{#if:| |{{{3}}} }}{{#if:| |{{{4}}} }}{{#if:| |{{{5}}} }}{{#if:| |{{{6}}} }}{{#if:| |{{{7}}} }}{{#if:| |{{{8}}} }}{{#if:| |{{{9}}} }}{{#if:| |{{{10}}} }}{{#if:| |{{{11}}} }}{{#if:| |... }}}}
{{#ifeq:|no||! Contents{{#ifeq:{{#ifeq:short1|short1|yes|}}|yes|:|}} {{#ifeq:{{#ifeq:short1|short1|yes|}}|yes||||-}}}}short1|yes|}}|yes | yes|Top |}} {{#ifeq:|yes|!$@|}} {{#ifeq:|yes|0–9|}} {{#ifeq:|yes|!–9|}} A B C D E F G H I J K L M N O P Q R S T U V W X Y Z {{#ifeq:{{#ifeq:short1|short1|yes|}}|yes| | }}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}} {{#ifeq:|yes|See also |}} {{#ifeq:|yes|Notes |}} {{#ifeq:{{#ifeq:short1|short1|yes|}}|yes|}} {{#ifeq:|yes|Notes |}} {{#ifeq:|yes|External links|}} |
It replaces {{CompactTOC8|side=yes|center=yes|nobreak=yes|refs=yes}}
Examples
{{CompactTOC8{{#if:top=yes| |top=yes }}{{#if:| |{{{3}}} }}{{#if:| |{{{4}}} }}{{#if:| |{{{5}}} }}{{#if:| |{{{6}}} }}{{#if:| |{{{7}}} }}{{#if:| |{{{8}}} }}{{#if:| |{{{9}}} }}{{#if:| |{{{10}}} }}{{#if:| |{{{11}}} }}{{#if:| |... }}}}
{{#ifeq:|no||! Contents{{#ifeq:{{#ifeq:|short1|yes|}}|yes|:|}} {{#ifeq:{{#ifeq:|short1|yes|}}|yes||||-}}}}short1|yes|}}|yes | yes|Top |}} {{#ifeq:|yes|!$@|}} {{#ifeq:|yes|0–9|}} {{#ifeq:|yes|!–9|}} A B C D E F G H I J K L M N O P Q R S T U V W X Y Z {{#ifeq:{{#ifeq:{{{1}}}|short1|yes|}}|yes| | }}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}} {{#ifeq:|yes|See also |}} {{#ifeq:|yes|Notes |}} {{#ifeq:{{#ifeq:|short1|yes|}}|yes|}} {{#ifeq:|yes|Notes |}} {{#ifeq:|yes|External links|}} |
{{CompactTOC8{{#if:name=no| |name=no }}{{#if:center=yes| |center=yes }}{{#if:top=yes| |top=yes }}{{#if:custom1=New section| |custom1=New section }}{{#if:custom2=Additional section| |custom2=Additional section }}{{#if:| |{{{7}}} }}{{#if:| |{{{8}}} }}{{#if:| |{{{9}}} }}{{#if:| |{{{10}}} }}{{#if:| |{{{11}}} }}{{#if:| |... }}}}
{{#ifeq:no|no||! no{{#ifeq:{{#ifeq:|short1|yes|}}|yes|:|}} {{#ifeq:{{#ifeq:|short1|yes|}}|yes||||-}}}}short1|yes|}}|yes | yes|Top |}} {{#ifeq:|yes|!$@|}} {{#ifeq:|yes|0–9|}} {{#ifeq:|yes|!–9|}} A B C D E F G H I J K L M N O P Q R S T U V W X Y Z {{#ifeq:{{#ifeq:{{{1}}}|short1|yes|}}|yes| | }}{{#if:New section|New section |}}{{#if:Additional section|Additional section |}}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}} {{#ifeq:yes|yes|See also |}} {{#ifeq:|yes|Notes |}} {{#ifeq:{{#ifeq:|short1|yes|}}|yes|}} {{#ifeq:yes|yes|Notes |}} {{#ifeq:|yes|External links|}} |
{{CompactTOC8{{#if:name=no|
|name=no
}}{{#if:center=yes|
|center=yes
}}{{#if:top=yes|
|top=yes
}}{{#if:seealso=yes|
|seealso=yes
}}{{#if:notes=yes|
|notes=yes
}}{{#if:custom1=New section|
|custom1=New section
}}{{#if:custom1name=Custom section name|
|custom1name=Custom section name
}}{{#if:custom2=Outside page|
|custom2=Outside page
}}{{#if:custom2link=Main Page|
|custom2link=Main Page
}}{{#if:|
|{{{11}}}
}}{{#if:|
|...
}}}}
short1|yes|}}|yes | yes|Top |}} {{#ifeq:|yes|!$@|}} {{#ifeq:|yes|0–9|}} {{#ifeq:|yes|!–9|}} A B C D E F G H I J K L M N O P Q R S T U V W X Y Z {{#ifeq:{{#ifeq:{{{1}}}|short1|yes|}}|yes| | }}{{#if:New section|Custom section name |}}{{#if:Outside page|Outside page |}}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}} {{#ifeq:yes|yes|See also |}} {{#ifeq:|yes|Notes |}} {{#ifeq:{{#ifeq:|short1|yes|}}|yes|}} {{#ifeq:yes|yes|Notes |}} {{#ifeq:|yes|External links|}} |
{{CompactTOC8{{#if:side=yes| |side=yes }}{{#if:sym=yes| |sym=yes }}{{#if:num=yes| |num=yes }}{{#if:refs=yes| |refs=yes }}{{#if:seealso=yes| |seealso=yes }}{{#if:custom1=Other| |custom1=Other }}{{#if:| |{{{8}}} }}{{#if:| |{{{9}}} }}{{#if:| |{{{10}}} }}{{#if:| |{{{11}}} }}{{#if:| |... }}}}
{{#ifeq:|no||! Contents{{#ifeq:yes|yes|:|}} {{#ifeq:yes|yes||||-}}}}short1|yes|}}|yes | yes|Top |}} {{#ifeq:yes|yes|!$@|}} {{#ifeq:yes|yes|0–9|}} {{#ifeq:|yes|!–9|}} A B C D E F G H I J K L M N O P Q R S T U V W X Y Z {{#ifeq:{{#ifeq:{{{1}}}|short1|yes|}}|yes| | }}{{#if:Other|Other |}}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}} {{#ifeq:|yes|See also |}} {{#ifeq:|yes|Notes |}} {{#ifeq:yes|yes|}} {{#ifeq:|yes|Notes |}} {{#ifeq:|yes|External links|}} |
{{CompactTOC8{{#if:name=Directory| |name=Directory }}{{#if:top=no| |top=no }}{{#if:refs=yes| |refs=yes }}{{#if:notes=yes| |notes=yes }}{{#if:extlinks=yes| |extlinks=yes }}{{#if:| |{{{7}}} }}{{#if:| |{{{8}}} }}{{#if:| |{{{9}}} }}{{#if:| |{{{10}}} }}{{#if:| |{{{11}}} }}{{#if:| |... }}}}
{{#ifeq:Directory|no||! Directory{{#ifeq:{{#ifeq:|short1|yes|}}|yes|:|}} {{#ifeq:{{#ifeq:|short1|yes|}}|yes||||-}}}}short1|yes|}}|yes | yes|Top |}} {{#ifeq:|yes|!$@|}} {{#ifeq:|yes|0–9|}} {{#ifeq:|yes|!–9|}} A B C D E F G H I J K L M N O P Q R S T U V W X Y Z {{#ifeq:{{#ifeq:{{{1}}}|short1|yes|}}|yes| | }}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}} {{#ifeq:|yes|See also |}} {{#ifeq:|yes|Notes |}} {{#ifeq:yes|yes|}} {{#ifeq:yes|yes|Notes |}} {{#ifeq:yes|yes|External links|}} |
{{CompactTOC8{{#if:name=no| |name=no }}{{#if:side=yes| |side=yes }}{{#if:right=yes| |right=yes }}{{#if:symnum=yes| |symnum=yes }}{{#if:seealso=yes| |seealso=yes }}{{#if:| |{{{7}}} }}{{#if:| |{{{8}}} }}{{#if:| |{{{9}}} }}{{#if:| |{{{10}}} }}{{#if:| |{{{11}}} }}{{#if:| |... }}}}
{{#ifeq:no|no||! no{{#ifeq:yes|yes|:|}} {{#ifeq:yes|yes||||-}}}}short1|yes|}}|yes | yes|Top |}} {{#ifeq:|yes|!$@|}} {{#ifeq:|yes|0–9|}} {{#ifeq:yes|yes|!–9|}} A B C D E F G H I J K L M N O P Q R S T U V W X Y Z {{#ifeq:{{#ifeq:{{{1}}}|short1|yes|}}|yes| | }}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}} {{#ifeq:yes|yes|See also |}} {{#ifeq:|yes|Notes |}} {{#ifeq:{{#ifeq:|short1|yes|}}|yes|}} {{#ifeq:|yes|Notes |}} {{#ifeq:|yes|External links|}} |
{{CompactTOC8{{#if:short1| |short1 }}{{#if:num=yes| |num=yes }}{{#if:sym=yes| |sym=yes }}{{#if:seealso=yes| |seealso=yes }}{{#if:notesfirst=yes| |notesfirst=yes }}{{#if:extlinks=yes| |extlinks=yes }}{{#if:| |{{{8}}} }}{{#if:| |{{{9}}} }}{{#if:| |{{{10}}} }}{{#if:| |{{{11}}} }}{{#if:| |... }}}}
{{#ifeq:|no||! Contents{{#ifeq:{{#ifeq:short1|short1|yes|}}|yes|:|}} {{#ifeq:{{#ifeq:short1|short1|yes|}}|yes||||-}}}}short1|yes|}}|yes | yes|Top |}} {{#ifeq:yes|yes|!$@|}} {{#ifeq:yes|yes|0–9|}} {{#ifeq:|yes|!–9|}} A B C D E F G H I J K L M N O P Q R S T U V W X Y Z {{#ifeq:{{#ifeq:short1|short1|yes|}}|yes| | }}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}}{{#if:|[[#|]] |}} {{#ifeq:yes|yes|See also |}} {{#ifeq:yes|yes|Notes |}} {{#ifeq:{{#ifeq:short1|short1|yes|}}|yes|}} {{#ifeq:|yes|Notes |}} {{#ifeq:yes|yes|External links|}} |