Help:TemplateData

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Help:TemplateData and the translation is 82% complete.
Other languages:
Bahasa Indonesia • ‎Cymraeg • ‎Deutsch • ‎English • ‎Ilokano • ‎Lëtzebuergesch • ‎Nederlands • ‎Oromoo • ‎Scots • ‎Tiếng Việt • ‎Türkçe • ‎Zazaki • ‎asturianu • ‎azərbaycanca • ‎català • ‎dansk • ‎emiliàn e rumagnòl • ‎español • ‎euskara • ‎français • ‎føroyskt • ‎galego • ‎hrvatski • ‎italiano • ‎lietuvių • ‎magyar • ‎occitan • ‎polski • ‎português • ‎português do Brasil • ‎română • ‎slovenčina • ‎slovenščina • ‎suomi • ‎svenska • ‎čeština • ‎Ελληνικά • ‎български • ‎македонски • ‎русский • ‎српски / srpski • ‎українська • ‎հայերեն • ‎ייִדיש • ‎עברית • ‎العربية • ‎تۆرکجه • ‎سنڌي • ‎فارسی • ‎پښتو • ‎अङ्गिका • ‎अवधी • ‎मराठी • ‎हिन्दी • ‎বাংলা • ‎ไทย • ‎ქართული • ‎中文 • ‎日本語 • ‎ꯃꯤꯇꯩ ꯂꯣꯟ • ‎한국어
PD Nota: Quando modifichi questa pagina, acconsenti a pubblicare il tuo contributo con licenza CC0. Vedi le pagine di aiuto sul dominio pubblico per maggiori informazioni.
PD

TemplateData è un modo di organizzare le informazioni concernenti wikitext template e i suoi parametri, affinché l'editor visuale possa recuperarli e visualizzarli nel suo editor di template, facilitando la modifica di pagine che usano quel template. È anche usato altrove in script, strumenti e gadget.

L'estensione TemplateData è installata in tutte le wiki della WMF. Se Hai la tua wiki, allora devi installare Extension:TemplateData.

La sintassi di TemplateData consente agli utenti di scrivere piccole parti di testo strutturato in una pagina di template o di includerlo in tale pagina (esempio, la pagina di documentazione di un template). Una volta che in un template i dati sono strutturati, esso può essere correttamente visualizzato nell'editor visuale. Sebbene possa sembrare difficile, in realtà non è così.

Editor del TemplateData

C'è uno strumento integrato per modificare facilmente TemplateData.

Per usare l'editor di TemplateData, vai alla pagina del template (o alla sotto-pagina di documentazione) e premi "Edit". Comparirà il tasto "Gestisci TemplateData", proprio sopra la finestra di edit:

Manage template documentation button for TemplateData 2014.png

Clicca questo tasto per abilitare l'interfaccia GUI (Graphic User Interface) e modificare TemplateData.

Una schermata dello strumento di editing TemplateData

L'editore permette di aggiungere parametri e stabilire gli attributi più comuni. Se la pagina che hai modificato già contiene un blocco di TemplateData, le informazioni già documentate verranno automaticamente visualizzate quando si apre la pagina corretta nell'editor TemplateData. Nel primo box(casella), puoi aggiungere o aggiornare una breve descrizione del modello in testo normale. Successivamente, è possibile utilizzare i pulsanti "Aggiungi parametri suggeriti" e "Aggiungi parametro" per documentare i nomi e gli attributi dei parametri utilizzati dal modello.

Se la documentazione del modello si trova in una sottopagina, il pulsante "Aggiungi parametri suggeriti" apparirà solo sulla pagina del modello. Una soluzione è modificare la pagina del modello, fare clic su "Aggiungi parametri suggeriti" nell'editor TemplateData e quindi copia e incolla il contenuto di TemplateData (tra i tag <templatedata> e </templatedata>) nella sottopagina della documentazione.

Se la pagina del modello è protetta, puoi copiare e incollare il codice del modello nella pagina secondaria, utilizzare il pulsante "Aggiungi parametri suggeriti", copiare il contenuto di TemplateData, modificare la sottopagina per eliminare il codice del modello e quindi incollare il contenuto di TemplateData. Per sapere dove incollare il contenuto di TemplateData all'interno della pagina secondaria, puoi modificare TemplateData senza aggiungere nulla; puoi quindi sostituire i tag <templatedata> e </templatedata> e il loro contenuto incollandovi sopra quelli corretti.

È possibile elencare il nome del parametro, eventuali alias per esso, l'etichetta e la descrizione che verrà visualizzata agli utenti. Puoi anche fornire un esempio su come utilizzare il parametro. L'unico campo obbligatorio è Name (il primo campo in ogni riga), che è dove si registra il nome esatto, case-sensitive (rispettando maiuscole e minuscole) del parametro. Nel menu a discesa "Type", puoi scegliere il tipo di contenuto che il parametro dovrebbe ricevere, come una stringa (per le risposte in testo semplice), la pagina (per i collegamenti ad altre pagine) o le date.

Se il template produce un errore se questo parametro è lasciato vuoto, contrassegnarlo come "Required". Se il parametro è comunemente usato o consigliato, contrassegnarlo come "Suggested". Il pulsante "Remove parameter information" cancellerà la voce del parametro da TemplateData.
Screenshot dell'editor TemplateData, che mostra un secondo parametro che viene aggiunto

Quando hai finito di documentare ciascuno dei parametri, fai clic su "Apply" per inserire il TemplateData preformattato nella casella di modifica aperta. Devi comunque salvare la pagina, utilizzando il normale pulsante "Save" sotto la finestra di modifica.

Attenzione: L'editor TemplateData posizionerà TemplateData sulla pagina del template o su una sottopagina della documentazione. Determinare dove verrà aggiunto TemplateData aprendo (modificando) la pagina in cui si desidera posizionare TemplateData. Tuttavia, se più blocchi TemplateData sono posizionati sullo stesso template, verrà utilizzato solo uno di questi blocchi. Se esiste già TemplateData in una pagina, è necessario modificare la pagina in cui è stato precedentemente posizionato TemplateData per evitare la creazione accidentale di più blocchi.

Limitazioni e domande

  • Le funzionalità che mancano — TemplateData è un esempio di uno strumento reso disponibile con poche funzionalità, nella speranza che possa aiutare a guidare gli utenti nello sviluppo delle funzionalità che si desiderano. Se desideri richiedere nuove funzionalità per TemplateData, per favore faccelo sapere.
  • Ritardi nella visualizzazione dei template — Dopo aver aggiunto TemplateData a un template, i metadati dovrebbero essere immediatamente visibili quando il template viene aperto nell'editor visivo. Tuttavia, è possibile che siano necessarie diverse ore prima che i metadati vengano visualizzati. È possibile forzare un aggiornamento apportando una modifica nulla alla pagina del template (non alla sottopagina della documentazione). Per eseguire una modifica nulla, apri la pagina del template per la modifica e salva la pagina "senza apportare modifiche e senza aggiungere alcun riepilogo di modifica".
  • Segnalazioni aperte — Un elenco di bug e richieste di funzionalità correnti è disponibile nel bug tracker di Wikimedia.

Ubicazione di TemplateData

TemplateData deve trovarsi nella pagina che descrive o essere incorporato in essa. In un template, in genere deve essere racchiuso tra i tag <noinclude> . Nel rendering di una pagina normale, visualizza la documentazione generata automaticamente come mostrato in #Example.

Struttura di TemplateData

La struttura di TemplateData è basata sullo standard JSON. Si noti che tutte le descrizioni in TemplateData devono essere in testo semplice (senza wikitext, senza collegamenti, ecc).

La prima cosa da fare è digitare un paio di tag <templatedata>, ovunque nella sottopagina della documentazione del template, in questo modo:

<templatedata>
{
    ...       // Il contenuto di TemplateData va qui
}
</templatedata>

Questo dice al software che ogni cosa tra i due tag è TemplateData, e dovrebbe essere referenziata quando viene usato il template.

Esempio

Le descrizioni all'interno di TemplateData seguono un layout standard; supponiamo che tu abbia un template chiamato "Commons" per il collegamento a una categoria di Commons su un argomento. Ci vuole un parametro obbligatorio: il nome della categoria su Commons. Il TemplateData sarebbe simile a questo:

<templatedata>
{
    "description": "Un template per il collegamento a una categoria di Commons su un articolo",
    "params": {
        "1": {
            "label": "Categoria principale",
            "description": "La categoria di Commons che desideri collegare.",
            "default": "Category:CommonsRoot",
            "type": "string",
            "required": true
        }
    }
}
</templatedata>

Questo lo visualizza, nel template, così:

Un template per il collegamento a una categoria di Commons su un articolo

Template parameters

ParameterDescriptionTypeStatus
Categoria principale1

La categoria di Commons che desideri collegare.

Default
Category:CommonsRoot
Stringrequired

Descrizione e parametri

description Il primo tag è un "description", che descrive cosa fa il template.
"description": "Un template per il collegamento a una categoria di Commons su un articolo",
format Il prossimo è "format", che descrive come dovrebbe essere la rappresentazione wikitext del template. Questo si può impostare come "inline" (predefinito) o "block", o in un formato personalizzato; vedi sotto per maggiori dettagli.

Se il parametro è configurato come "inline" creerà una rappresentazione di wikitext senza spazio bianco, così:

{{Foo|bar=baz|qux=quux}}

Se il parametro è configurato come "block" creerà una rappresentazione di wikitext con salti di linee e spazi singoli tra ogni parte, così:

{{Foo
| bar = baz
| qux = quux
}}
"format": inline
params Esiste quindi un tag "params", che indica che le sezioni successive coprono ciascun parametro nel template.

Tutti i parametri che seguono sono inclusi nella sezione "params".

"params": {
    ...    // i parametri vanno qui
}
  In ciascuna sottosezione di parametro, la prima etichetta è il nome del parametro del template dentro il template.

Se il parametro ha un nome, come {{{category-link}}}, questa etichetta sarebbe "category-link".

Se il parametro è "unnamed", il significato è solo un numero come {{{1}}}, questa etichetta sarebbe "1".

Tutti i bit di informazioni su questo parametro sono inclusi nella sezione che inizia con il nome del parametro.

"1": {     // nome del parametro
    ...    // informazione sul parametro va qui
}
label Dopo abbiamo "label", nella quale metti un titolo leggibile che verrà visualizzato dentro l'editore di template.
"label": "Categoria di Commons",
description Abbiamo quindi "description": questa volta, è una descrizione del parametro, non del template nel suo insieme.
"description": "La categoria di Commons che desideri collegare.",
default Il prossimo è "default". Alcuni template hanno un valore predefinito che viene utilizzato a meno che non lo si modifichi. Questo elemento indica all'utente il valore predefinito per questo parametro.

Puoi ignorare questo parametro se non c'è nessun valore predeterminato.

"default": "Category:CommonsRoot",
type Dopodiché abbiamo "type", che controlla come l'editor di template interpreterà quel parametro. I tipi più comuni sono:
  • "string": una sequenza di caratteri, come questa frase
  • "number": un insieme di cifre;
  • "boolean": '0' for false, '1' for true, '' for unknown;
  • "wiki-user-name": una sequenza di caratteri che rappresenta il nome di un utente;
  • "wiki-page-name": una sequenza di caratteri che rappresenta il titolo di una pagina.
  • "wiki-file-name": un nome di file.

Other types include: "unknown", "date", "url", "wiki-template-name", "content", "unbalanced-wikitext", "line"

"type": "string",
required Dopo abbiamo "required", che si può configurare come true o false.

Questo semplicemente controlla se la compilazione del parametro è obbligatoria per quel modello. Se non lo si specifica, il default è false.

"required": true
suggested Il tag "suggested", che può configurarsi come true o false.

Questo è uno stato per i parametri che non sono "richiesti" ma si consiglia agli utenti di mettere un valore elevato (ma non è obbligatorio). Se non lo si specifica, da default è false.

"suggested": true
deprecated Infine, c'è "deprecated", che può essere impostato su true, false o una stringa che descrive cosa invece gli utenti dovrebbero fare.

Questo è uno stato per i parametri che non dovrebbero essere più usati, ma esistono ancora per il momento. Ciò potrebbe essere dovuto al fatto che gli usi del template vengono spostati da un set di parametri a un altro. Se non lo specifichi, da default è false.

"deprecated": "Please use 'publicationDate' instead."

Una volta che hai finito, premi "Save". Se hai commesso errori, non ti consente di salvare (che disturba, ma significa che non puoi fare nulla). In caso di errori, spiega sulla feedback page cosa stavi cercando di fare e saremo felici di aiutarti.

Note that if you are abusing a hack template to dynamically generate TemplateData, it cannot be checked for errors before saving.

Si noti che ogni bit di informazione è racchiuso tra virgolette (ad eccezione di true e false) e separato dal bit successivo da una virgola (a meno che non sia l'ultimo).

Formati personalizzati

Quando modifichi le stringhe del formato personalizzato nell'editor TemplateData puoi digitare \n o premere il tasto invio per rappresentare una nuova riga; in entrambi i casi verrà visualizzato come nel campo di immissione.

Esempi di formati che puoi utilizzare
Obiettivo Formato stringa Uscita
Formattazione in linea {{_|_=_}}
inline
{{Foo|bar=baz|qux=quux}}{{Bar}}
Blocca la formattazione {{_\n| _ = _\n}}
block
{{Foo
| bar = baz
| qux = quux
}}{{Bar
}}
Nessuno spazio prima del nome del parametro,

ogni template sulla propria linea

\n{{_\n|_ = _\n}}\n
{{Foo
|bar = baz
|qux = quux
}}
{{Bar
}}
Identa (per esprimere al meglio la struttura del codice) ogni parametro {{_\n |_ = _\n}}
{{Foo
 |bar = baz
 |qux = quux
}}{{Bar
}}
Allinea tutti i nomi dei parametri a una determinata lunghezza {{_\n|_______________ = _\n}}\n
{{Foo
|bar             = baz
|qux             = quux
|veryverylongparameter = bat
}}
{{Bar
}}
Inserire caratteri di pipe alla fine della riga precedente {{_|\n _______________ = _}}
{{Foo|
  bar             = baz|
  qux             = quux}}{{Bar}}
Stile in linea con più spazi, devono essere all'inizio di ogni riga \n{{_ | _ = _}}
{{Foo | bar = baz | qux = quux}}
{{Bar }}
Il template all'inizio di una riga, parametri allineati-identati, caratteri pipe della riga precedente \n{{_ |\n _______________ = _}}
{{Foo |
  bar             = baz |
  qux             = quux}}
{{Bar}}

Alias di parametri

Alcuni template permettono che lo stesso parametro abbia differenti nomi.

Per esempio, {{Commons|category=Apples}} si può anche scrivere come {{Commons|Apples}} o {{Commons|link=Apples}}.

Per aggiungere questa informazione a TemplateData, semplicemente bisogna aggiungere gli alias all'informazione del parametro:

    "params": {
        "categoria": {
            ...
            "aliases": ["1", "Collegamento"]
        }

Valore automatico

È possibile specificare un "autovalue" per un parametro. Quando gli utenti aggiungono il template a una pagina wikipedia, questo valore verrà aggiunto automaticamente. Ad esempio, molti template di pulizia devono avere sempre la data; se si specifica un autovalore per il parametro data del modello, la data verrà compilata automaticamente.

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

    "params": {
        "data": {
            ...
            "autovalue": "{{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}"
        }

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:

"params": {
    "1": {
        ...
    },      // notice the comma here
    "2": {
        ...
    },      // e qui
    "3": {
        ...
    }
}

Parametri associativi

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.

    "params": {
        "argomento1": {
            "label": "Argomento",
            "description": "A topic mentioned on this disambiguation page",
            "type": "string"
        },
        "argomento2": {
            "inherits": "argomento1"
        },
        "argomento3": {
            "inherits": "argomento1"
        },
    }

Blank boilerplate

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

<templatedata>
{
    "description": "",
    "params": {
        "1": {
            "label": "",
            "description": "",
            "type": ""
        },
        "2": {
            "label": "",
            "description": "",
            "type": ""
        }
    }
}
</templatedata>

Errors

Syntax Error in JSON / Bad JSON format

Due to a long standing bug, users using the old wikitext editor are able to save pages which have certain types of invalid JSON, such as duplicate keys or trailing commas (details: task T128029). However if you attempt to save this page in a JavaScript based editor, such as VisualEditor or the 2017 Wikitext editor, you will see an error message "Syntax error in JSON," as the JavaScript parser is stricter and doesn't allow invalid JSON. Additionally, if you attempt to open up such invalid JSON with the Template Data GUI editor, you will see the error message, "Bad JSON format." To fix these errors, you can enter the JSON block into an external JSON validator, such as https://jsonlint.com/, and it will highlight the problematic commas and keys so they can be removed.

Other tools

Aiuto:Estensione:TemplateWizard
A toolbar dialog window for entering template wikitext via an form built from TemplateData.
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.