Log in Page Discussion History Go to the site toolbox


From BluWiki

test test test


Stampdetective/Abu Dhabi



Abu Dhabi







Template:H:h HelpTemplate:Edit-first-section A page can be divided into sections, using the section header syntax.

Creation and numbering of sections

Sections are created by creating their headers, as below:




Please do not use only one equals sign on a side (=text here=); this causes a title the size of the page name, which is taken care of automatically.

With the preference setting Auto-number headings sections are numbered.

Table of contents (TOC)

Template:H:TOC variables

For each page with more than three headings, a table of contents (TOC) is automatically generated from the section headings, unless:

  • (for a user) preferences are set to turn it off
  • (for an article) the magic word __NOTOC__ (with two underscores on either side of the word) is added in the edit box

When either __FORCETOC__ or __TOC__ (with two underscores on either side of the word) is placed in the wikitext, a TOC is added even if the page has fewer than four headings.

With __FORCETOC__, the TOC is placed before the first section header. With __TOC__, it is placed at the same position where this code is placed. This allows any positioning, e.g. on the right or in a table cell. In old versions of MediaWiki, it also allows multiple occurrence, e.g. in every section (However, this seems only useful if the sections are long, so that the TOCs take up only a small part of the total space.).

Thus there may be some introductory text before the TOC, known as the "lead". Although usually a header after the TOC is preferable, __TOC__ can be used to avoid being forced to insert a meaningless header just to position the TOC correctly, i.e., not too low.

Preferences can be set to number the sections automatically.

In a page calling a template with sections, the sections in the template are numbered according to their position in the rendered page, e.g. if the template tag is in the third section, then the first section of the template is numbered four. Any text in the template before its first section shows up as part of the section with the template tag, and any text after the tag before a new header shows up as part of the last section of the template. This may be done deliberately, but can usually better be avoided (see also below).

Using __NOTOC__ it's possible to disable the normal Table of Contents. Section links as explained below allow to create compact ToCs, e.g. alphabetical [[#A|A]] [[#B|B]] etc.

The Table of contents can be forced onto a floating table on the right hand of the screen with the code below:

  {| align="right"
  | __TOC__

Globally limiting the TOC depth

It is possible to limit the depth of sub-sections to show in the TOC globally using $wgMaxTocLevel. If configuration setting $wgMaxTocLevel in LocalSettings.php is set to 3 for example, only first and second level headings show up in the TOC. Until version 1.10.0rc1, there is a bug in the parser making a limited TOC display incorrectly. A simple solution is proposed in bug report 6204.

Section linking

In the HTML code for each section there is an anchor element Template:H:mlw with both "name" and "id" attributes holding the section title. This enables linking directly to sections. These section anchors are automatically used by MediaWiki when it generates a Table of Contents for the page, but you can also use them to manually link directly to one section within a page.

The html code generated at the beginning of this section, for example, is:

<p><a name="Section_linking" id="Section_linking"></a></p>   
<h2>Section linking</h2>

A link to this section (Section Linking) looks like this:
[[Help:Section#Section_linking|Section Linking]]

To link to a section in the same page you can use [[#id|link_label]], and to link to a section in another page [[page_name#id|link_label]].

To create an anchor target without a section header, you can use a span, for example:
<span id="anchor_name"></span>, however this won't work with some very old browsers.

An underscore and number are appended to duplicate section names. E.g. for three sections named "Example", the names (for section linking) will be "Example", "Example_2" and "Example_3".

Note that using the date formatting feature in section headers complicates section linking.

An internal link in a section header does not give complications:

For linking to an arbitrary position in a page see linking to a page.

Section linking and redirects

A link that specifies a section of a redirect page corresponds to a link to that section of the target of the redirect.

A redirect to a section of a page now also works [1], try e.g. the redirect page Help:Section linking and redirects. (For this to work on wikipedia, one might have to reload CSS style sheets, by for example pressing shift-reload in firefox. One only has to do this once.)

A complication is that, unlike renaming a page, renaming a section does not create some kind of redirect. Also there is no separate backlink feature for sections, pages linking to the section are included in the list of pages linking to the page. Possible workarounds:

  • Instead of linking directly to a section, link to a page that redirects to the section; when the name of the section is changed, change the redirect target. This method also provides more or less a "what links here" for sections (look for redirects linking to the page, select the one linking to the section; this may be recognized from the name even if the section name has changed).
  • Put an anchor and link to that
  • Put a comment in the wikitext at the start of a section listing pages that link to the section
  • Make the section a separate page/template and either transclude it into, or just link to it from, its parent page; instead of linking to the section one can then link to the separate page.

Section links

You can use section linking to link to a section within the same page (using [[#section name|displayed text]], and if another section with the same name exists a _(sequential number) is appended as in [[#section name_2|displayed text]]), or to a section within another page (using [[page name#section name|displayed text]]).

For example to link the table of contents entry: [[#test|test]]

Type: ===test=== where you want the user to jump to.

When a user presses "test" in the table of contents, they will automatically jump to the ===test=== entry below in the text.

If a (sub)section has a blank space as header, it results in a link in the TOC that does not work. For a similar effect see NS:0.

Section editing

Sections can be separately edited ("section editing feature") by right clicking on the section header and/or special edit links, depending on the preferences set, and by a url like


(Note that here section numbers are used, not section titles; subsections have a single number, e.g. section 2.1 may be numbered 3, section 3 is then numbered 4, etc.)

This is convenient if the edit does not involve other sections and one needs not have the text of other sections at hand during the edit (or if one needs it, open the section edit link in a new window, or during section editing, open "Cancel" in a window). Section editing alleviates some problems of large pages.

"__NOEDITSECTION__" anywhere on the page will remove the edit links. It will not disable section editing itself; right clicking on the section header and the url still work.

Inserting a section can be done by editing either the section before or after it, merging with the previous section by deleting the header.

Adding a section at the end can also be done with a URL like http://meta.wikimedia.org/w/wiki.phtml?title=Meta:Sandbox&action=edit&section=new . On talk pages a link is provided for this. The section header is the same as the edit summary, and typed only once.


The preview in section editing does not always show the same as the corresponding part of the full page, e.g. if on the full page an image in the previous section intrudes into the section concerned.

The edit page shows the list of templates used on the whole page, i.e. also the templates used in other sections.


Subsections are included in the part of the page that is edited. Whether there is automatic section numbering is determined by the number of sections concerned, i.e. one plus the number of sub- and subsub-sections, etc. Section numbering is relative to the part that is edited, so on the relative top level there is always just number 1, relative subsections all have numbers starting with 1: 1.1., 1.2, etc.; e.g., when editing section 3.2, section 3.2.4 is numbered 1.4. However, the header format is according to the absolute level.

Editing before the first section

There is no link for editing the part before the first heading, except by the work-around of right-clicking on the page header; but the URL works, for example for this page:


A less cumbersome way to obtain this link is to use any section edit link of the page, and change the number of the section to zero. Javascript can also create this URL, see w:en:Wikipedia:WikiProject User scripts/Scripts/Edit Top.

The {{Edit-first-section}} template creates an edit link for the section 0. Copy the template to your wiki.

See also Help:Section editing demo.

Editing a page with large sections

If a page has very large sections, or is very large and has no division into sections, and one's browser or connection does not allow editing of such a large section, then one can still:

  • append a section by specifying a large section number (too large does not matter); however, one has to start with a blank line before the new section header
  • append content to the last section by not starting with a blank line; however, with the limitations of one's browser or connection, one cannot revert this, or edit one's new text.

If one can view the wikitext of a large section, one can divide the page into smaller sections by step by step appending one, and finally deleting the original content (this can be done one large section at a time). Thus temporarily there is partial duplication of the content, so it is useful to put an explanation in the edit summary.

Providing for a separate edit history for a section

Without changing the appearance of a page, a section of it can be an included separate page, see composite pages. This way a separate edit history is provided for the section. Also this allows watching it separately.

Sections within parser functions

If a section heading is created conditionally using a parser function, either directly or by conditionally transcluding a template with sections, edit links of this and subsequent sections will edit the wrong section (although the page (including TOC) is correctly displayed and the TOC links correctly). This is because section counting for producing the edit links is done after expanding the parser functions, whereas when the edit page is loaded, only those sections are counted which statically appear in the page (or the respective template).

This is not a bug but a consequence of the way section editing is implemented, so the solutions are the obvious ones: either avoid creating sections via parser functions, or disable section editing.

Help:Editing sections of included templates

"See also" line or section

Put "see also" lines into a separate section if they are relevant to the whole page. This makes them more visible on the page and easily accessible in the Table of Contents.

Alternatively, a "see also" line is sometimes put at the beginning.

A "see also" belonging to just one section can be put in that section: within a paragraph, as a separate paragraph, or as a subsection.

Sections vs. separate pages vs. transclusion

Advantages of separate pages:

  • what links here feature
  • separate edit histories
  • automatic redirect on renaming
  • redirect to a section is not possible
  • loading a small page is faster than loading a large page
  • can separately be put in categories (however, see also below)
  • with Semantic MediaWiki: have separate annotations

Advantages of one large page with sections:

  • loading one large page is faster and more convenient than loading several small ones
  • searching within one large page (the page itself or the wikitext) with a local search function is faster and in some respects better than searching several pages (for which one has to search the whole project); also the TOC provides for convenient navigation.
  • enforces the cohesion of a concept that while having several definitions needs independent editing.

An alternative is composing a page of other pages using the template feature (creating a compound document by Transclusion). This allows easy searching within the combined rendered page, but not in the combined wikitext. Titles have to be provided.

Categorizing sections

Redirect pages can be categorized. The category tag has to be put in the first paragraph. In the case that the target of the redirect is a section this has to some extent the effect of categorizing the section: through the redirect the category page links to the section; however, unless an explicit link is put, the section does not link to the category.

In the case of a redirect to a section this effectively categorizes the section. On the category page redirects are displayed with class redirect-in-category, so they can be shown in e.g. italics; this can be defined in MediaWiki:Common.css. See also Template:Mlww.

Subdivisions in general

  • Sections of a page are adjacent, and the end of the last section coincides with the end of the page, i.e., all the text within the page is in a section other than a possible part before the first section.
  • The same applies at lower levels, i.e. in sections and subsections.
  • In a list in a section, each list item is a kind of subsection; however, lists need not be adjacent, i.e., between lists there may be content at the section level, after which the list items of the following list are content which is down again to list item level.
  • In HTML, a list item may contain several sublists, not necessarily adjacent; thus there may be parts of the list not only before the first sublist, but also between sublists, and after the last one; however, in wiki-syntax-lists, sublists follow the same rules as sections (see the first item in this list): the only possible part of the list not in sublists is before the first sublist.

See also continuing a list item after a sub-item and Template:Tim.

Limiting subsection levels shown in TOC

In some quite-older versions, if you wanted a heading not to show up in the generated Table of Contents at the top of the page, you could use HTML to make the header.

<h2>A level-2 heading that shouldn't show up in the TOC</h2>

But that no longer is supported; by design, HTML headings now show up in the TOC no matter what; see the discussion at http://bugzilla.wikimedia.org/show_bug.cgi?id=6575.

A simple extension can give you the ability to create non-TOC headings. Try the following, which was written using instructions from Extending wiki markup:

# H3ForCommentsButNotInTOC.php
# Example WikiMedia extension  
# with WikiMedia's extension mechanism it is possible to define
# new tags of the form
# <TAGNAME> some text </TAGNAME>
# the function registered by the extension gets the text between the
# tags as input and can transform it into arbitrary HTML code.
# Note: The output is not interpreted as WikiText but directly
#       included in the HTML output. So Wiki markup is not supported.
# To activate the extension, include it from your LocalSettings.php
# with: include("extensions/YourExtensionName.php");

$wgExtensionFunctions[] = "wfH3ForComments";

function wfH3ForComments() {
    global $wgParser;
    # register the extension with the WikiText parser
    # the first parameter is the name of the new tag.
    # In this case it defines the tag <example> ... </example>
    # the second parameter is the callback function for
    # processing the text between the tags
    $wgParser->setHook( "xh3", "renderxh3" );

# The callback function for converting the input text to HTML output
function renderxh3( $input, $argv, &$parser ) {
    $output = "<h3>$input</h3>";
    return $output;

Then of course you have to install the extension by adding the following to LocalSettings.php:


To add an <h3> heading that won't show up in the TOC, do it as:

<xh3>Text for an h3 heading that won't be in the TOC</xh3>

This is pretty crude, and only provides for an H3-level heading. Perhaps someone who actually knows PHP (instead of doing monkey-see-monkey-do programming like I just did) could add code to create tags for H1, H2, and H4.

Sections for demo above

Demo a

This section is linked to from #Section linking.

Demo http://a

This section is linked to from #Section linking.

See also


Site Toolbox:

Personal tools
GNU Free Documentation License 1.2
This page was last modified on 12 July 2007, at 01:56.
Disclaimers - About BluWiki