Help:TemplateData/sv

What is TemplateData?
TemplateData är ett sätt att lagra information om en mall och dess parametrar så att VisualEditor kan hämta och visa den i mallredigeraren för att förenkla mallredigering.

Syntaxen för MallData låter användare skriva små stycken strukturerad data på en mallsida, eller för infogning på mallsidan (som t.ex. från en malldokumentationssida). När en mall har denna information kan det visas i VisualEditor på rätt sätt. Emedan detta låter komplicerat är det faktiskt mycket enkelt.

TemplateData editor
Det finns ett inbyggt verktyg för att redigera MallData på ett enklare sätt.

För att använda MallDataredigeraren, klicka "Edit"-knappen på mallsidan (eller dokumentationssidan). Detta visar en knapp som säger "" alldeles ovanför den öppna redigeringsrutan: Klicka på denna knapp för att öppna det grafiska gränssnittet för att redigera MallData. Redigeraren låter dig lägga till en rad per mallparameter och att definiera de vanligaste egenskaperna. Om sidan du redigerar redan har MallData är den informationen redan inmatad och kommer att visas när du öppnar rätt sida i MallDataredigeraren. I den första rutan kan du lägga till eller uppdatera en kort beskrivning av mallen i oformaterad text. Du kan sedan använda knapparna "Importera parametrar" och "Lägg till parametrar" för att dokumentera mallparametrarnas namn och egenskaper.

Du kan lista namnen på parametern, andra namn för parametern, etiketten och beskrivningen som kommer att visas för användarna. De enda fält som krävs är Namn (det första fältet i varje namn) och i det fältet anger du exakt namn för parametern. I popupmenyn kan du välja innehållstypen för den parametern, som t.ex. sträng, sida eller datum. Om mallen ska ge ett fel om en parameter är tom ska den parametern markeras som "Nödvändig". Om parametern används ofta eller om dess användning är rekommenderad ska den markeras som "Föreslagen". "Ta bort"-knappen tar bort parameterns information från MallData. När du är färdig med att redigera parametrarna klickar du "Använd" för att infoga den förformaterade MallDatan i den öppna redigeringsrutan. Du måste fortfarande spara sidan med "Spara"-knappen nedanför redigeringsrutan.

Varning: MallDataredigeraren kommer att placera MallData på antingen mallsidan eller på malldokumentationssidan. Det är upp till dig att bestämma var MallData infogas genom att öppna den sida där du vill att MallData ska sparas. Om många MallDatablock placeras på samma mall kommer emellertid endast ett av blocken att användas. Om det redan finns MallData på en sida måste du redigera sidan där MallData lagras för att undvika dubblering av MallDatablock.

Limitations and questions

 * Funktioner som saknas — MallData är ett exempel på ett verktyg som tillhandahölls med få funktioner i hopp om att användare skulle hjälpa till med att styra utvecklingen av funktioner de ville ha. Om du vill be om nya funktioner för MallData, hör av dig.
 * Fördröjning i mallvisning — Då MallData lagts till i en mall borde metadatan genast bli synlig när mallen öppnas i VisualEditor. Det är emellertid möjligt att det kan ta timmar innan metadatan syns. Du kan tvinga mallen att updateras genom att göra en tom redigering till mallen (inte malldokumentationssida). För att göra en tom redigering, öppna mallsidan för redigering och spara sedan sidan utan att göra några ändringar.
 * Nuvarande problem — A list of current bugs and feature requests is available in the Wikimedia bug tracker.

Structure of TemplateData
TemplateData's structure is based around the JSON standard, and is fairly simple. Note that all descriptions in TemplateData must be in plain text (no wikitext, no links, etc.).

The first thing to do is to type out a pair of  tags, anywhere on the template's documentation subpage, like so:

This tells the software that everything between the two tags is TemplateData, and should be referenced when the template is used.

Example
The descriptions inside TemplateData follow a standard layout; let's say that you have a template called "Commons" for linking to a Commons category about a topic. It takes one mandatory parameter: the name of the category on Commons. The TemplateData would look something like this:

This would display, in the template, like so:

{   "description": "A template for linking to a commons category about an article", "params": { "1": {           "label": "Commons category", "description": "The commons category you want to link to.", "default": "Category:CommonsRoot", "type": "string", "required": true }   } }

Description and parameters
Once you're done, hit "save". If you've made errors, it will not let you save (which is disruptive, but means you can't break anything). Should you run into errors, explain on the feedback page what you were trying to do, and we will be happy to help.

Note that each bit of information is enclosed in quotation marks (except for  and  ), and separated from the next bit by a comma (unless it's the last one).

Parameter aliases
Some templates allow a same parameter to have different names.

For example,  could also be written as   or.

To add this information to TemplateData, you simply need to add the aliases to the parameter's information:

Auto value
You can specify an "autovalue" for a parameter. When users add the template to a page, this value will be added automatically. For example, many clean-up templates need to have the date added; if you specify an autovalue for the template's date parameter, then the date will be filled in automatically.

To add this information to TemplateData, simply add the autovalue to the parameter's information. You will probably want to use  to make the values stick:

Multiple parameters
If you have multiple parameters, just repeat each section (starting from the "1" tag) and fill it out as you see fit. Note that if a template has multiple parameters, you need to separate them with a comma in the templatedata, like so:

Similar parameters
When a template has multiple parameters, sometimes some of them can be of the same kind. In this case, you only need to provide full properties for the first one, and the others can "inherit" their properties from it.

Blank boilerplate
You can copy the blank boilerplate below to add new TemplateData to a template. Only the most common tags are included.

Other tools

 * TemplateDataEditor — A user script that makes the process of adding TemplateData easier. It currently exists in French (contains English, Italian, Japanese and Korean translations), and can easily be translated into other languages.
 * TemplateData Wizard — A tool that generates TemplateData through an interactive interface.
 * Skeleton TemplateData generator — A tool that reads the source wikicode of a template, tries to find all the parameters used and outputs a skeleton document with the parameters listed.
 * JSONLint — A tool that allows you to validate manually-written JSON to help find errors in the syntax.
 * List of all templates with TemplateData on this wiki
 * With dewiki template TemplateData template data is shown in a box, and the template is added to a category of templates with template data