To use this service you need archives, a destination page, and a page for the request.
- First create a destination page (the one you want the index to be written to, typically ending in
/Archive index
) and place the following text on this page:<!-- Legobot can blank this -->
- This will not be visible, as it is contained in HTML comment tags; this gives the bot permission to write to the page. You MUST create this page and place the tag on it, the bot WILL NOT create it for you automatically!
- On the root page of the archives you want indexed, usually the talk page itself, place the following code, replacing the items in
<>
with the appropriate values as described below:{{User:HBC Archive Indexerbot/OptIn|target=<target>|mask=<mask>|leading_zeros=<zeros>|indexhere=<indexhere>|template=<template location>}}
<target>
is your destination page (created in step 1). Note that this must be the full page name, including the namespace. A relative path may be specified, and will be assumed to be relative to the page on which the OptIn code is placed. If you are unsure, full paths are always best.<mask>
is used to describe how to find your archives, see below for details. You may specify multiple masks by specifyingmask1=<mask>
,mask2=<mask>
,mask3=<mask>
... Pages matching all of the masks will be combined together for the final index. Again, the mask must be the full page name, or a relative path such as/Archive <#>
.<zeros>
is the number of leading 0s in your archive title, "Archive 01" would be 1 leading zero, "Archive 1" is 0 leading zeros.<indexhere>
should be yes or no. If yes, it will index the root talk page the request is on as well as the archive pages.<template location>
is the name of a wiki page containing an archive index template. The template syntax is described below. This parameter is optional, and if left out or left blank, the default template will be applied.
- Wait; the next time the bot runs it should write your report.
Mask
Your mask is simply the path of your archives with the numbers replaced with <#>
.
Example:
User talk:HighInBC/Archive <#>
would cover User talk:HighInBC/Archive 1
through the last archive.
If your archive has leading zeros, then set the leading_zeros parameter to the number of leading zeros you have.
If your archives are named using dates rather than numbers, or by topic, you can specify multiple mask parameters in the template, each of which will be read in turn. If there's no incrementing number, simply do not include the <#>
in the mask, and it will be used as an individual page name instead.
Template
Templates are defined as a series of HTML comments followed by wikitext for each part of the page. See the default template for an example template definition. Each section is introduced with an HTML comment consisting of only the section name. All content from the next line until the next section heading is considered to be part of the section. Blank lines inside sections are ignored. The possible sections of a template are:
Section Name | Description |
---|---|
LEAD | Introductory text, to be placed at the top of the archive index page. |
HEADER | A header for the index, placed after the bot's description of how the index was created, but before any rows of data are output. Typically used to begin a table, create column headings, etc. |
ROW | The format of an actual row of data. There are a number of variables available in the row:
This section is required (and this is the only section required in a template, all others are optional). |
ALTROW | The format of an alternating row. If provided, this section will be used instead of the "Row" section for every other row of data, starting with the second. It is generally used to alternate row colors within a table. The same variables described in "Row" above are available. |
FOOTER | A footer, output immediately after the last row of data. Generally used to close a table, if one was started in the header. |
TAIL | A final section below the footer, for any comments, bottom-of-page navigation, categories, etc. |
END | Indicates that the template definition is over, no more parsing will take place. |
Example
For example, when using the HBC Archive Indexerbot (now Legobot) to index the talk discussions on the Wikipedia talk:WikiProject Television project page, to list on Wikipedia talk:WikiProject Television/Archive index, the following code would be used:
{{User:HBC Archive Indexerbot/OptIn |target=Wikipedia talk:WikiProject Television/Archive index |mask=Wikipedia talk:WikiProject Television/Archive <#> |leading_zeros=0 |indexhere=yes }}
Useage
The index page (<target>
) can be specified as the index parameter for the {{Archives}} template. This will create a clickable link at the top of the box for accessing the generated index.
Schedule
The bot is currently scheduled to run twice per day, at 11:23 and 23:23 UTC. It may run at additional times beyond those, and may miss some scheduled runs while it is under continued development/bugfixing.
Caveats
- Very long sets of archives such as Wikipedia:Administrators' noticeboard/IncidentArchive<#> will not archive due to timeout errors and maximum page size.
- When using sortable table for results, the
%%duration%%
will sort alphabetically, which is probably unfavourable behavior. To work around this, use invisible%%durationsec%%
variable like this:<span style="display: none;">%%durationsecs%%</span> %%duration%%