XWiki Syntax Guide
XWiki Syntax 2.1
XWiki Syntax 2.1: All
Generale
Preliminare
2.1 Introduction
Dopo l'introduzione della sintassi XWiki 2.0 abbiamo scoperto alcuni difetti di questa sintassi. Per risolverli è stata introdotta, per il momento in via sperimentale, la sintassi XWiki 2.1 a partire dalla versione 3.0 di XWiki Enterprise. Ecco alcuni dei motivi per l'introduzione di questa nuova sintassi:
- Omogeneizzare la sintassi per i link e per le immagini, così da ottenere maggiore chiarezza, consistenza ed estendibilità.
- Aggiungere la possibilità di mostrare icone, di fare collegamenti a file usando la notazione UNC e fare link a URL relativi.
Oltre a queste due sintassi specifiche di XWiki abbiamo modificato anche il motore di rendering sottostante con XWiki Enterprise versione 1.7 (precedentemente era Radeox) in favore di un nostro motore che è un superset wrapper attorno a Wikimodel e Doxia (e si spera altri in futuro). Questo ci ha consentito di poter usare anche altre sintassi nel wiki: MediaWiki, Confluence, JSPWiki, Creole, TWiki e altre.
Considerazioni Generali
2.0 General Remarks
La sintassi XWiki 2.0 corregge alcuni errori o ambiguità che gli utenti potevano inserire come mostrato negli esempi della tabella seguente.
Descrizione | Esempio di sintassi non valida o ambigua | Risolto con Sintassi XWiki 2.0 |
---|---|---|
Stili di testo non chiusi | **grassetto | **grassetto** |
Due elementi isolati non separati da 2 nuove righe | | cella tabella * voce elenco | | cella tabella * voce elenco |
Due elementi isolati non separati da 2 nuove righe | paragrafo ---- paragrafo | paragrafo ---- paragrafo |
Nuova riga ignorata all'inizio del documento | <nuova riga all'inizio del documento> paragrafo | paragrafo |
Sintassi dei titoli non chiusa | === titolo | === titolo === |
Altre sintassi
1.0 Other Syntaxes
A partire da XWiki Enterprise 1.6 sono implementate anche queste altre sintassi:
Modifica
Paragrafi
2.0 Paragraphs
I paragrafi sono elementi di testo separati da 2 o più righe vuote.
Caratteristica | Sintassi XWiki 2.1 | Risultato |
---|---|---|
Semplice paragrafo | Questo è un paragrafo | Questo è un paragrafo |
Paragrafo su più righe | Paragrafo su più righe | Paragrafo su più righe |
Due paragrafi | Paragrafo uno Paragrafo due | Paragrafo uno Paragrafo due |
Paragrafo con parametri | (% style="text-align:center;color:blue" %) Paragrafo centrato e blu | Paragrafo centrato e blu |
Titoli
2.0 Headings
Caratteristica | Sintassi XWiki 2.1 | Risultato |
---|---|---|
Titoli Standard | = livello 1 = == livello 2 == === livello 3 === ==== livello 4 ==== ===== livello 5 ===== ====== livello 6 ====== | livello 1
livello 2livello 3livello 4livello 5livello 6 |
Titoli con Parametri | (% style="color:blue" %) = titolo = | titolo |
Titoli con sintassi XWiki | === Titolo con **grassetto** === | Titolo con grassetto |
Formattazione Testo
2.0 Text Formatting
Caratteristica | Sintassi XWiki 2.1 | Risultato |
---|---|---|
Grassetto | **Grassetto** | Grassetto |
Sottolineato | __Sottolineato__ | Sottolineato |
Corsivo | //Corsivo// | Corsivo |
Sbarrato | --Sbarrato-- | |
Monospazio | ##Monospazio## | Monospazio |
Apice | testo ^^in apice^^ | testo in apice |
Pedice | testo ,,in pedice,, | testo in pedice |
Riga Orizzontale
2.0 Horizontal Line
Caratteristica | Sintassi XWiki 2.1 | Risultato |
---|---|---|
Riga Orizzontale semplice | ---- | |
Riga Orizzontale con Parametri | (% style="color:blue" %) ---- |
Elenchi
2.0 Lists
Caratteristica | Sintassi XWiki 2.1 | Risultato |
---|---|---|
Elenco puntato | * voce 1 ** voce 2 *** voce 3 * voce 4 |
|
Elenco numerato | 1. voce 1 11. voce 2 111. voce 3 1. voce 4 |
|
Elenco misto | 1. voce 1 1*. voce 2 1*. voce 3 1. voce 4 |
|
Elenco puntato con quadratino | (% style="list-style-type: square" %) * voce 1 * voce 2 |
|
Elenco puntato con punto pieno | (% style="list-style-type: disc" %) * voce 1 * voce 2 |
|
Elenco alfabetico minuscolo | (% style="list-style-type: lower-alpha" %) * voce 1 * voce 2 |
|
Elenco alfabetico Maiuscolo | (% style="list-style-type: upper-alpha" %) * voce 1 * voce 2 |
|
Elenco con numeri Romani minuscoli | (% style="list-style-type: lower-roman" %) * voce 1 * voce 2 |
|
Elenco con numeri Romani Maiuscoli | (% style="list-style-type: upper-roman" %) * voce 1 * voce 2 |
|
Elenco con lettere Greche minuscole | (% style="list-style-type: lower-greek" %) * voce 1 * voce 2 |
|
Elenco con lettere Greche Maiuscole | (% style="list-style-type: upper-greek" %) * voce 1 * voce 2 |
|
Elenco Giapponese Hiragana | (% style="list-style-type: hiragana" %) * voce 1 * voce 2 |
|
Elenco Giapponese Hiragana Iroha | (% style="list-style-type: hiragana-iroha" %) * voce 1 * voce 2 |
|
Elenco Giapponese Katakana | (% style="list-style-type: katakana" %) * voce 1 * voce 2 |
|
Elenco Giapponese Katakana Iroha | (% style="list-style-type: katakana-iroha" %) * voce 1 * voce 2 |
|
Elenco lettere Armene | (% style="list-style-type: armenian" %) * voce 1 * voce 2 |
|
Elenco lettere Ebraiche | (% style="list-style-type: hebrew" %) * voce 1 * voce 2 |
|
Elenco lettere Georgiane | (% style="list-style-type: georgian" %) * voce 1 * voce 2 |
|
Elenco ideogrammi Cinesi CJK | (% style="list-style-type: cjk-ideographic" %) * voce 1 * voce 2 |
|
Elenchi di Definizione
2.0 Definition Lists
Caratteristica | Sintassi XWiki 2.1 | Risultato |
---|---|---|
Definizione Standard | ; termine : definizione |
|
Definizioni Nidificate | ; termine1 : definizione1 :; termine2 :: definizione2 |
|
Definizione con Parametri | (% style="color:blue" %) ; termine : definizione |
|
Nuova riga/Interruzioni di riga
2.0 New Line Line Breaks
Una nuova riga è un ritorno a capo. Un'interruzione di riga è una nuova riga forzata che può comparire in un punto qualsiasi del testo.
Caratteristica | Sintassi XWiki 2.1 | Risultato |
---|---|---|
Interruzione riga | Riga\\Nuova riga | Riga Nuova riga |
Nuova riga | Riga Nuova riga | Riga Nuova riga |
Collegamenti - Links
2.1 Links
Caratteristica | Sintassi XWiki 2.1 | Risultato |
---|---|---|
Link ad una pagina nello Spazio corrente | [[WebHome]] | XWiki |
Link con etichetta | [[etichetta>>WebHome]] | etichetta |
Link con sintassi XWiki nell'etichetta | [[**etichetta in grassetto**>>WebHome]] | etichetta in grassetto |
Link ad una pagina di uno spazio specificato | [[Main.WebHome]] | Main |
Link ad un subwiki | [[subwiki:Main.WebHome]] | Main |
Link che si apre in una nuova pagina | [[etichetta>>WebHome||rel="__blank"]] | etichetta |
Link ad un URL direttamente nel testo | Questo è un URL: http://xwiki.org | Questo è un URL: http://xwiki.org |
Link ad un URL | [[http://xwiki.org]] | http://xwiki.org |
Link ad un URL con etichetta | [[XWiki>>http://xwiki.org]] | XWiki |
Link ad un indirizzo email | [[john@smith.net>>mailto:john@smith.net]] | john@smith.net |
Link ad un'immagine | [[image:Space2.Page2@img.png>>Space1.Page1]] | |
Link ad un'immagine con parametri | [[[[image:Space2.Page2@img.png||width="26" height="26"]]>>Space1.Page1]] | |
Link ad un allegato nella pagina corrente | [[text>>attach:img.png]] | |
Link ad un allegato in una pagina diversa | [[text>>attach:Space.Page@img.png]] | |
Link ad una Ancora in una pagina | [[label>>Space.Page||anchor=anchor]] | label |
Link ad un Titolo in una pagina | [[label>>Space.Page||anchor=HMyheading]] | label |
Specifiche dei link con la Sintassi XWiki 2.1
Il formato completo di un link è [etichetta>>] (risorsa) [||parametri]
- etichetta: Stringa opzionale che sarà mostrata all'utente dopo il render del link. L'etichetta può contenere della sintassi XWiki. Se non viene specificata un'etichetta sarà generata un'etichetta predefinita. Il modello di generazione può essere cambiato, vedere la Admin Guide. Esempio: My Page
- risorsa: Stringa richiesta con il riferimento al link in una delle forma seguenti
- URL: qualsiasi URL nella forma [url:] (protocollo://percorso). Esempi: http://xwiki.org, url:https://svn.xwiki.org/
- url: Stringa opzionale che identifica la risorsa come un URL.
- Wiki page name Nome pagina WIki, riferimento nella forma [doc:] [[wikiName:] spazio.] (pagina). Esempi: WebHome, Main.WebHome, mywiki:Main.WebHome
- doc: Stringa opzionale che identifica la risorsa come documento XWiki.
- wikiName: Stringa opzionale contenente il nome di un subwiki (animal) di una 'farm' di wiki. Il link punterà ad una pagina all'interno di quel subwiki. Esempio: miowiki
- spazio: Nome opzionale di uno Spazio del wiki. Se non si specifica uno spazio verrà usato lo spazio corrente. Esempio: Main
- pagina: Stringa richiesta con il nome della pagina wiki cui punta il link. Esempio: WebHome
- InterWiki page name Nome pagina Interwiki, riferimento nella forma interwiki: (interWikiAlias:) (page). Esempio: interwiki:wikipedia:XWiki
- interwiki: Stringa richiesta che identifica la risorsa come un link InterWiki.
- interWikiAlias: Alias opzionale dell'Inter Wiki come definito dall'InterWiki Map (vedere la Admin Guide). Esempio: wikipedia
- pagina: Stringa richiesta con il nome della pagina wiki cui punta il link. Esempio:: XWiki
- Allegato Allegato, riferimento nella forma attach: [wikiPageName@] (attachmentName). Esempi: attach:img.png, attach:mywiki:Main.WebHome@img.png
- attach:: Stringa richiesta che identifica la risorsa come un allegato.
- wikiPageName: Stringa opzionale che indica il riferimento al documento che contiene l'allegato, vedere "Wiki page name" precedente.
- attachmentName: Nome dell'alllegato come memorizzato nel wiki.
- Email address Indirizzo email, nella forma mailto: (emailAddress) (#anchor non è valido). Esempio: mailto:john@smith.com
- mailto:: Stringa richiesta che indentifica la risorsa come email.
- emailAddress: Indirizzo email del destinatario. Esempio: john@smith.com
- Relative path Percorso relativo, riferimento sul server nella forma path: (relPath). Esempio: path:$doc.getURL('reset') produce l'indirizzo di destinazione http://server.domain.com/xwiki/bin/reset/Space/Page dove /xwiki/bin/reset/Space/Page è prodotto da $doc.getURL('reset').
- path: Stringa richiesta che identifica la risorsa come percorso relativo.
- relPath: Stringa richiesta contenente il percorso relativo della risorsa sul server cui punta il link.
- UNC (Windows Explorer) riferimento nella forma unc: (path). Il link è reso come un link ad un file:// . Esempi: unc:C:\Windows\, unc:\\myserver\path\img.png, unc:home/user/somefile
- unc: Stringa richiesta che identifica la risorsa come un percorso UNC (Windows Explorer).
- path: Stringa richiesta contenente il percorso locale della risorsa acessibile dall'utente. Esempi: C:\Windows\, \\myserver\path\img.png, home/user/somefile
- URL: qualsiasi URL nella forma [url:] (protocollo://percorso). Esempi: http://xwiki.org, url:https://svn.xwiki.org/
- parametri: Lista opzionale separata da spazi di parametri passati al link. Esempio: queryString="mydata1=5&mydata2=Hello" anchor="HTableOfContents" rel="__blank"
- Stringaquery: Stringa opzionale di query per specifici parametri che saranno appesi all'indirizzo del link e usati nel rendering dell'URL. Eaempio: url:http://domain.com/path||queryString="mydata1=5&mydata2=Hello" produce l'indirizzo di destinazione http://domain.com/path?mydata1=5&mydata2=Hello
- ancora: Nome opzionale di un ancora che punta ad un ancora definita nel link cui si riferisce. Notare che in XWiki le ancore per i titoli sono create automaticamente. Esempio: url:http://domain.com/path||anchor="HTableOfContents" produce l'indirizzo di destinazione http://domain.com/path#HTableOfContents
- rel: Parametro opzionale che consente di aprire il link in una nuova finestra. Esempio: rel="__blank"
Tabelle
2.0 Tables
È possibile creare facilmente del testo in forma tabellare. Con la Sintassi XWiki 2.1 sono supportati anche parametri per la tabella, le righe o le celle.
Caratteristica | Sintassi XWiki 2.1 | Risultato | ||||||
---|---|---|---|---|---|---|---|---|
Tabella Standard |
|=Titolo 1|=Titolo 2
|Parola 1|Parola 2 !=Titolo 1!=Titolo 2 !!Parola 1!!Parola 2 |
| ||||||
Tabella con Parametri | (% style="background-color:red;text-align:center" %) |=Titolo 1|=(% style="background-color:yellow" %)Titolo 2 |Parola 1|Parola 2 |
| ||||||
Tabella filtrabile ordinabile | {{velocity}} $xwiki.ssfx.use("js/xwiki/table/table.css") $xwiki.jsfx.use("js/xwiki/table/tablefilterNsort.js", true) {{/velocity}} (% class="grid sortable filterable doOddEven" id="tableid" %) (% class="sortHeader" %)|=Titolo 1|=Titolo 2 |Cella 11|Cella 12 |Cella 21|Cella 22 |
|
Immagini
2.1 Images
Caratteristica | Sintassi XWiki 2.1 | Risultato |
---|---|---|
Immagine da un allegato nella pagina corrente | image:img.png | |
Immagine da un allegato di un altro documento | image:Space.Page@img.png | |
Immagine con parametri | [[image:img.png||width="25" height="25"]] | |
Immagini raggiungibili con un URL | image:http://some/url/img.png | |
Icona | image:icon:accept |
Specifiche per le Immagini in Sintassi XWiki 2.1
Il formato completo di un'immagine è image: (riferimento) oppure [[image: (riferimento) {||parametri}]]
- image: Stringa richiesta che identifica la risora come immagine.
- riferimento: Il riferimento all'immagine che sarà mostrata in una delle forme seguenti:
- URL: Un qualunque URL ad un'immagine nel formato protocollo://percorso/Nomeimmagine. Esempio: http://domain.org/path/img.png
- Allegato riferimento nel formato {{{Nomewiki:} spazio.} pagina@} (Nomeimmagine)
- NomeWiki: Stringa opzionale che contiene il nome di un subwiki (animal) di una 'farm' di wiki. Il link punterà ad una pagina all'interno di quel subwiki. Esempio: miowiki
- spazio: Nome opzionale di uno spazio del wiki. Se non si specifica uno spazio viene usato lo spazio corrente. Esempio: Main
- pagina: Stringa opzionale che contiene il nome di una pagina del wiki a cui l'immagine fa riferimento come allegato. Esempio: WebHome
- Nomeimmagine: Stringa richiesta con il nome dell'immagine allegata alla pagina così come è memorizzato nel wiki.
- Icona riferimento nel formato (icon:) (iconName). Esempio: icon:accept
- icon: Stringa richiesta che identifica il riferimento come un'icona da XWiki Icon Set.
- iconName: Stringa richiesta che identifica l'icona cui si fa riferimento. Esempio: accept
- parametri: Elenco opzionale di parametri separati da uno spazio passati all'immagine. Esempio: width="800" height="600" alt="img.png" title="My nice image"
- Attributi HTML: Tutti gli attributi definiti dallo standard HTML saranno aggiunti al codice HTML renderizzato <img> tag.
- style: Informazioni sullo stile CSS che si deve applicare all'immagine. Esempio: style="float:right;height:50" (immagina a destra, altezza 50 pixel), style="display:block;margin-left:auto;margin-right:auto;width:80%" (immagine centrata, larghezza 80% del blocco), style="vertical-align:bottom" (il testo inzia in basso all'immagine)
- height: Parametro che definisce l'altezza visualizzata dell'immagine. Il valore dovrebbe essere in pixel (esempio: height="80") o in pixel relativi all'altezza del blocco contenente l'immagine (esempio: height="40%").
- width: Parametro che definisce la larghezza visualizzata dell'immagine. Il valore dovrebbe essere in pixel (esempio: width="80") o in pixel relativi alla larghezza del blocco contenente l'immagine (esempio: width="40%").
- title: Parametro che definisce il titolo visualizzato dell'immagine che sarà visibile quando ci si passa sopra con il mouse, per esempio. Esempio: title="La mia bella immagine"
- alt: Parametro che definisce quale testo deve essere mostrato se il browser non è in grado di visualizzare l'immagine. Dal momento che questo è un attributo HTML richiesto XWiki userà il nome del file se il parametro alt non è definito. Esempio: alt="img.png"
- Altro: Una spiegazione più approfondita sul tag HTML <img> tag che comprende altri attributi si può trovare su on w3.org.
- queryStringa: Consente di inviare richieste al server quando si crea il link per il download dell'immagine referenziata. Esempio: queryString="width=100&height=800&keepAspectRatio=true" (keepAspectRatio=true non avrà successo se i parametri width e height non vengono specificati oltre a queryString!)
- Attributi HTML: Tutti gli attributi definiti dallo standard HTML saranno aggiunti al codice HTML renderizzato <img> tag.
Avanzato
Verbatim
2.0 Verbatim
Contenuto testuale, verbatim cioè parola per parola
Consente di inserire del contenuto che non sarà formattato (in altre parole non viene considerata la sintassi XWiki).
Caratteristica | Sintassi XWiki 2.1 | Risultati |
---|---|---|
Verbatim in una riga | Testo verbatim {{{**[[not rendered]]**}}} contenuto | Testo verbatim **[[not rendered]]**contenuto |
Verbatim in un blocco | {{{ contenuto **verbatim** su più righe }}} | contenuto **verbatim** su più righe |
Citazioni
2.0 Quotations
Permette di citare, quotare, del testo.
Caratteristica | Sintassi XWiki 2.1 | Risultato |
---|---|---|
Citazione semplice | > Giovanni ha detto questo Io ho detto va bene |
Io ho detto va bene |
Citazioni nidificate | > Giovanni ha detto questo >> Maria ha risposto questo Io ho detto va bene |
Io ho detto va bene |
Gruppi
2.0 Groups
Si possono usare i Gruppi per inserire direttamete un altro documento nel documento corrente. Questo permette per esempio di inserire elementi complessi in una voce di un elenco o all'interno di una cella di una tabella. I Gruppi sono delimitati dai seguenti elementi sintattici:(((...))). Un Gruppo può contenere un altro Gruppo senza limiti di nidificazione.
Sintassi XWiki 2.1 | Risultato | ||||||
---|---|---|---|---|---|---|---|
|=Titolo 1|=Titolo 2|=Titolo 3 |Cella Uno|((( = Documento incluso = Alcuni paragrafi inclusi. * voce elenco uno * voce elenco due ** sotto elemento 1 ** sotto elemento 2 ))) | Cella Tre Paragrafo successivo nel documento di livello superiore |
Paragrafo successivo nel documento di livello superiore |
Escapes
2.0 Escapes
Escapes - Commenti testo non valutato
Consente di commentare e quindi non valutare la sintassi XWiki
Caratteristica | Sintassi XWiki 2.1 | Risultato |
---|---|---|
Commentare un carattere | Questo non è un ~[~[link~]~] | Questo non è un [[link]] |
Parameters
2.0 Parameters
Con la Sintassi XWiki 2.1 è possibile passare dei parametri tra i diversi elementi sintattici ed anche a blocchi di testo. Si usa questo per esempio per applicare uno stile. Si può impostare qualunque parametro chiave/valore. Il motore di render XHTML passerà questi parametri come attributi XHTML della sottostante rappresentazione XHTML dei differenti elementi sintattici.
Sintassi XWiki 2.1 | XHTML Generato |
---|---|
(% class="miaClasse" style="mioStile" id="myId" %) = titolo = | <h1 class="miaClasse" style="mioStile" id="myId">titolo</h1> |
Programmazione
Macro
2.0 Macros
Anche nella Sintassi XWiki 2.0 ci sono due tipi di macro:
- Macro Velocity (chiamate usando la sintassi #macroname(param1 ... paramN) all'interno della Macro Velocity)
- Macro XWiki (chiamate usando la sintassi {{macroname param1="value1" ... paramN="valueN"}} )
Caratteristica | Sintassi XWiki 2.1 | Risultato |
---|---|---|
Macro XWiki | {{code language="java"}} System.out.println("Hello World!"); {{/code}} | System.out.println("Hello World!"); |
HTML
2.0 HTML
Sintassi XWiki 2.1 | Risultato |
---|---|
{{html}}<b>grassetto</b>{{/html}} | grassetto |
Scripts
2.0 Scripts
Caratteristica | Sintassi XWiki 2.1 |
---|---|
Script Velocity | {{velocity}} #set ($var = "qualsiasi") {{/velocity}} |
Script Groovy | {{groovy}} def var = "qualsiasi" {{/groovy}} |