Jump to content

User:PerfektesChaos/js/WikiSyntaxTextMod/flow/template

From Wikipedia, the free encyclopedia

WikiSyntaxTextModSyntax polishing → Step 3

Template and transclusion

The third step of syntax polishing covers all issues in context of template and page transclusion. This is anything in curly brackets {{}} as well as parser functions and similar syntax elements.


Formatting[edit]

  • A third { indicates a parameter value; this sequence will be ignored.
  • Spaces between {{ and identifier are removed.
  • Many parser functions can be detected by identifier terminated by : (looks like containing a colon).
    • For DEFAULTSORT and DISPLAYTITLE or their equivalences special treatment is triggered.
    • Names of parser functions must not contain spaces but underscore; in return no percent sign or brackets.
    • Other parser functions, variables and their localization are identified by positive list.
    • If parser functions or variables have been detected they are turned into common and unique upcase spelling.
  • If it is obviously neither a parser function nor a variable the identifier is treated as name of a template (or other transcluded page).
  • It is proofed to be a template name if the identifier is beginning before colon with the name space designator template: or localized counterpart. Such name space prefix will be removed.
  • Names of templates are decoded like a wikilink.
  • Under project specific conditions the first character is capitalized or downcased.
  • If it is a well known standard template in general or for the current project appropriate action is taken.
  • If there is a user defined wikilink modification or respective user defined template modification this will be executed.
  • If there is a need the name of the template is protected against undesired changes.

Inner analysis[edit]

Especially if there is special interest in a template, well known or user defined or by project standardmäßig subject to changes and evaluation, the template is split syntactically and parameters are evaluated.

  • Nested templates in template are always separated.
  • During parameter analysis wikilinks get separated, which enables assignment of pipe symbols | to wikilinks or parameter separation.
  • As result of parameter analysis a list is available which parameters with which name and value is present and how they are formatted in detail by spaces and new lines.

DISPLAYTITLE[edit]

In main space pages (articles) an entirely redundant {{DISPLAYTITLE:}} or localized variant is removed. This happens only if the value is completely identical with the page title and there are no special characters which could be interpreted syntactically.

Standard templates[edit]

While every project might use a different definition for some template types a default behaviour is provided:

Sister projects[edit]

Commons, Commonscat as well as Wikisource and Wiktionary etc. are standardized and simplified.

Depending on availability in project a combination of Commons and Category: is turned into Commonscat or Commons category etc.

ISSN[edit]

In a Template:ISSN invalid number format is adjusted and remaining bad data causes an error message.

Code parameters[edit]

For all wiki projects template parameters with the following names will be checked (upper and lower case doesn’t matter):

  • DOI, ISBN, ISSN, PMID, VIAF (in future: LCCN)

The formal permissibility is tested; if possible and necessary the value will be formatted.

  • Those algorithms are subject to further extension.

[ German page ]