Template:Versioni compatibili Supporto

Da Guide@Debianizzati.Org.
Versione del 14 mar 2021 alle 09:47 di HAL 9000 (discussione | contributi) (rimossi link a template che simula categoria nascosta, per non alterare link restituiti da "Puntano qui")
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Vai alla navigazione Vai alla ricerca


Template di supporto per Versioni compatibili

Sommario

  1. ... tutte le versioni
  2. ... pacchetti versioni
  3. ... elenco versioni
  4. ... riquadro
  5. ... verifica
  6. ... abbandonate
  7. ... voce
  8. ... da revisionare

Introduzione

Questa pagina offre una panoramica generale su tutti i template di supporto del template versioni compatibili, richiamabile dagli altri. Può essere incluso, tra tag <noinclude>...</noinclude> per generare un sommario verticale per la navigazione nei vari template di supporto.

Non c'è link a "... Supporto - da revisionare" in questa pagina, né nel menù, per non alterare la lista delle guide restituite da "Puntano qui" su quella pagina. Quel template comunque non si occupa di nessuna funzione, ed è solo usato per imitare il funzionamento di una categoria nascosta senza ostacolare il controllo di categoria mancante, e la sua inclusione è decisa da ... Supporto - verifica.

Sommario dei template utilizzati

Versioni compatibili
è l'unico che deve essere incluso dalle guide; la pagina del template deve illustrare la sintassi da utilizzare per i vari casi;
... Supporto - tutte le versioni
si occupa di gestire la compatibilità per tutte le versioni di Debian, e determina quali sono considerati recenti e quali da revisionare;
... Supporto - pacchetti versioni
si occupa di restituire la compatibilità per versioni di Debian in base alle versioni dei pacchetti Debian considerate;
... Supporto - elenco versioni
si occupa di gestire la compatibilità per un elenco di versioni (già rilasciate, testing e sid) di Debian, ossia in tutti i casi diversi da "per tutte le versioni di Debian"; determina quanti rilasci sono considerati recenti per questi casi;
... Supporto - verifica
si occupa del controllo effettivo di mancata compatibilità per versioni attualmente supportate, in base ai parametri specificati dai template precedenti e dall'insieme delle versioni di Debian specificate (in base alla più recente tra esse), e di assegnare in automatico le guide a quelle da revisionare piuttosto che a quelle abbandonate;
... Supporto - da revisionare
l'inclusione non svolge alcuna funzione di per sé, ma permette di simulare una categoria nascosta e quindi il tracciamento delle guide da revisionare tramite il link "Puntano qui" della pagina del template, senza ostacolare il controllo di categoria mancante dalle guide Wiki;
... Supporto - abbandonate
si occupa di stampare un messaggio di avviso che la guida è abbandonata, e potrebbe diventare obsoleta e lasciare il namespace principale; inoltre l'inclusione permette il tracciamento tramite il link "Puntano qui" della pagina del template;
... Supporto - riquadro
si occupa della parte grafica del template;
... Supporto - voce
si occupa di stampare la descrizione per una versione di Debian, all'interno del riquadro; è anche utilizzabile, con opportuni parametri, per controllare se una singola versione è recente o meno.

Ordine di inclusione per evitare cicli

Al fine di evitare cicli con le inclusioni, è bene attenersi al seguente ordine, ossia far sì che un template ne includa soltanto altri con numeri successivi al proprio nel seguente elenco:

  1. " supporto - tutte le versioni
  2. " supporto - pacchetti versioni
  3. " supporto - elenco versioni
  4. " supporto - riquadro
  5. " supporto - verifica
  6. " supporto - abbandonate
  7. " supporto - voce
  8. " supporto - da revisionare

Quindi, per esempio, Versioni Compatibili Supporto - riquadro può includere Versioni compatibili Supporto - voce, essendo il primo in 4^ posizione e l'altro in penultima, ma non è ammesso il contrario. E nessuno può includere il template principale Versioni compatibili.

Codice sorgente

Guide

Si consiglia la lettura di queste pagine su MediaWiki per una panoramica completa sui comandi utilizzati (o utilizzabili):

Nota sui parametri

È importante che tutti i parametri (per esempio: {{{1|}}}, {{{2|}}}, ecc... ) siano sempre utilizzati con carattere pipe "|" dopo il numero/identificatore. Altrimenti, se il primo parametro non fosse definito, stamperebbe {{{1}}}, anziché non stampare nulla.

Ci possono essere casi particolari in cui sia preferibile l'opposto, ma allora è opportuno documentarli con commento, in modo che non siano scambiati per una svista.

Convenzioni

Per garantire una certa uniformità del codice sorgente Mediawiki, e facilitarne la lettura, è opportuno attenersi a queste convenzioni per switch:

{{
#switch:
| primo-argomento  =
| secondo-....     =
| <!-- nessuno --> = <!-- in genere errore --> ...
| <!-- default -->   <!-- breve commento per tutti gli altri casi (notare l'assenza di "=" tra nessun valore e default) -->
}}

Analogamente per if/ifeq/ifexpr, con uso di commenti then/else per evidenziare meglio i rami delle condizioni:

{{
#if: {{{1|}}}
| <!-- then --> <!-- breve commento --> parte da inserire se {{{1}}} (il primo argomento) non è vuoto
| <!-- else --> <!-- breve commento --> parte da inserire se {{{1}}} è vuoto
}}

E per if/ifeq/ifexpr/switch multipli si usa una spaziatura di due caratteri:

{{
#if: {{{1|}}}
| <!-- then --> {{
  #ifeq: {{{2|}}} | VALORE
  | <!-- then --> ...
  | <!-- else --> {{
    #switch: {{{3|}}}
    | valore1           =
    | valore2           =
    | valore3 | valore4 =
    | <!-- nessuno -->  = <!-- errore... -->
    | <!-- default -->    <!-- commento -->
    }}
  }}
| <!-- else --> ...
}}

Si noti che ogni }} è allineato verticalmente al nome del template o comando che termina, e non necessariamente alle {{ del blocco corrispondente. Purtroppo è talvolta necessario per evitare l'aggiunta di righe vuote, e questa convenzione è stata quindi adottata in ogni caso per uniformità.

Infine si raccomanda di far sì che ogni pagina di codice abbia una sezione (tra tag "noinclude") per una breve descrizione delle sue funzionalità, da tenere aggiornata quando si modifica il codice, così che possa servire da documentazione.