Aiuto:Templatestyles

Estensione 2018, consente di caricare codice css direttamente, o da template, evitando di modificare pagine nel nsMediaWiki; questo consente un approccio del tutto nuovo alla formattazione.

Per itwikisource è stata proposta la convenzione di memorizzare il codice css in una sottopagina /styles.css dei template che lo richiamano.

Documentazione
Primi test in itwikisource

Le basiModifica

Per comprendere e applicare templatestyles è necessario qualche elemento sul funzionamento del css (Cascade Style Sheet) e sulla struttura dell'html. Il css è un "linguaggio di programmazione" che permette di applicare uno stile, ossia una formattazione, a elementi html selezionati.

Fino al rilascio dell'estensione templatestyles, vi erano solo due modi (+ uno non accessibile da it.wikisource) di applicare css alle pagine:

  1. applicazione delle specifiche css a singoli blocchi mediante l'attributo style dell'elemento: es <div style="font-size:120%">, in genere utilizzato all'interno di codice Template o di codice Modulo;
  2. applicazione delle specifiche css in pagine specifiche globali, come MediaWiki:Common.css, accessibili però solo agli amministratori dell'interfaccia, o personali, come Utente:Alex brollo/common.css. Le pagine personali sono attivate soltanto per l'utente che le ha definite.

Il metodo più efficace per selezionare gli elementi html a cui assegnare un certo formato è l'attributo degli elementi html class (esempio: <div class="pagetext">). Il css permette di associare un certo codice di formattazione tenendo conto non solo del loro tipo, ma anche della loro classe, dalle loro combinazioni (e non solo). Tuttavia il markup mediawiki non consentiva di attivare una specifica css completa (comprensiva della formattazione degli elementi e delle classi) a una singola pagina.

L'estensione templatestyles colma questa lacuna: è possibile applicare a una certa pagina una specifica css completa, senza disporre di privilegi di admin e senza modificare la formattazione di qualsiasi altra pagina.

Dove caricare il css utilizzato da templatestylesModifica

Il codice css che si vuole poter richiamare va caricato in pagine speciali, ed in particolare in sottopagine di pagine Template:, con estensione .css (esempio: Template:TemplateStyle/teatro6.css), con qualche limitazione nel css utilizzabile per motivi di sicurezza. Naturalmente, la scrittura di tali pagine richiede una conoscenza, almeno elementare, del linguaggio css. L'interfaccia di default segnala eventuali errori di sintassi.

Come caricare templatestyles in una paginaModifica

Vi sono quattro modi:

  1. direttamente nella pagina, utilizzando la sintassi <templatestyles src=[nome pagina css] />;
  2. inserendo lo stesso codice all'interno di un template;
  3. sia direttamente, che in un template, può essere anche utilizzata la sintassi indiretta #tag: [[#tag:templatestyles||src=[nome pagina css] /> con il vantaggio che il nome pagina css può essere passato al template con un parametro (es Template:TemplateStyle, che utilizza la sintassi {{#tag:templatestyles||src=TemplateStyle/{{{1}}}.css}} e che quindi attiva Template:TemplateStyle/teatro6.css dopo la chiamata {{TemplateStyle|teatro6}};
  4. da uno script Lua solo con la chiamata indiretta frame:extensionTag('templatestyles', '', { src = "TemplateStyle"..style..".css" } ).

Template TemplateStyleModifica

Il template {{TemplateStyle}} accetta un parametro e chiama la propria sottopagina corrispondente al parametro + ".css". Quindi il codice {{TemplateStyle|teatro6}} corrisponde al codice <templatestyles src="TemplateStyle/teatro6.css" />.

Il template {{RigaIntestazione}} accetta un parametro opzionale stile; il valore del parametro attiva la chiamata alla corrispondenre sottopagina css di TemplateStyles. Quindi, il codice: {{RigaIntestazione|||stile=teatro6}} equivale al codice {{RigaIntestazione|||}}{{TemplateStyle|teatro6}}.