Indice

Sintassi di formattazione

DokuWiki supporta del semplice linguaggio di formattazione, che cerca di rendere i file dei dati più leggibili possibile. Questa pagina contiene tutta la sintassi che si può usare quando si modificano le pagine. Basta dare semplicemente un'occhiata al codice sorgente di questa pagina premendo il bottone Modifica questa pagina (Edit this page) in alto o in fondo alla pagina. Se volete fare qualche prova, usate la pagina playground. La formattazione più semplice è facilmente accessibile anche attraverso i pulsanti veloci.

Formattazione basica del testo

DokuWiki supporta testi in grassetto, corsivo, sottolineato ed equispaziato. Naturalmente tutti questi si possono combinare.

DokuWiki supporta testi in **grassetto**, //corsivo//, __sottolineato__ ed ''equispaziato''.
Naturalmente tutti questi si possono **__//''combinare''//__**.

Si possono usare anche pedici e apici.

Si possono usare anche <sub>pedici</sub> e <sup>apici</sup>.

Inoltre si può contrassegnare qualcosa come cancellato.

Inoltre si può contrassegnare qualcosa come <del>cancellato</del>.

I paragrafi sono creati da righe vuote. Se si vuole forzare un ritorno a capo senza un paragrafo, si possono usare due barre retroverse seguite da uno spazio bianco o dalla fine della riga.

Questo è del testo con qualche interruzione di linea
Notare che le due barre retroverse sono riconosciute soltanto alla fine di una linea
oppure quando seguite da
uno spazio bianco \\ecco cosa succede senza di questo.

Questo è del testo con qualche interruzione di linea\\ Notare che le
due barre retroverse sono riconosciute soltanto alla fine di una riga\\
oppure quando seguite da\\ uno spazio bianco \\ecco cosa succede senza di questo.

I ritorni a capo forzati dovrebbero essere usati solo quando realmente necessari.

Collegamenti

DokuWiki supporta molteplici modi per la creazione di collegamenti.

Esterni

I collegamenti esterni sono riconosciuti automagicamente: http://www.google.com o semplicemente www.google.com - Si possono impostare anche i testi dei collegamenti: Questo collegamento punta a Google. Gli indirizzi di posta elettronica come questo: andi@splitbrain.org sono pure riconosciuti.

DokuWiki supporta molteplici modi per la creazione di collegamenti. I collegamenti esterni sono riconosciuti
automagicamente: http://www.google.com o semplicemente www.google.com - Si possono impostare
anche i testi dei collegamenti: [[http://www.google.com|Questo collegamento punta a Google]]. Gli indirizzi
di posta elettronica come questo: <andi@splitbrain.org> sono pure riconosciuti.

Interni

I collegamenti interni sono creati usando le parentesi quadre. Si può immettere un nome della pagina o, in alternativa, un testo del collegamento aggiuntivo.

I collegamenti interni sono creati usando le parentesi quadre. Si può immettere un [[prove:nome della pagina]]
o, in alternativa, un [[prove:nome della pagina|testo del collegamento]] aggiuntivo. 

I nomi delle pagine wiki sono convertiti automaticamente in minuscolo, i caratteri speciali non sono consentiti.

Si può specificare namespaces usando i due punti (:) nel nome della pagina.

Si può specificare [[it:namespaces]] usando i due punti (:) nel nome della pagina.

Per i dettagli riguardo le categorie (namespaces) si veda namespaces.

È pure possibile realizzare collegamenti a una specifica sezione. È sufficiente aggiungere il nome della sezione prima del carattere diesis (#), come è noto dall'HTML. Questo collegamento punta a questa Sezione.

Questo collegamento punta a [[syntax#interni|questa Sezione]].

Note:

Interwiki

Dokuwiki supporta i collegamenti Interwiki. Si tratta di collegamenti rapidi ad altri Wiki. Per esempio, questo collegamento punta alla pagina di Wikipedia riguardante i Wiki: Wiki.

Dokuwiki supporta i collegamenti [[doku>it:interwiki|Interwiki]]. Si tratta di collegamenti rapidi ad altri Wiki.
Per esempio, questo collegamento punta alla pagina di Wikipedia riguardante i Wiki: [[wp>Wiki]].

Partizioni Windows

Le partizioni Windows come questa sono pure riconosciute. Notare che esse hanno un senso soltanto in un gruppo omogeneo di utenti come in una Intranet aziendale.

Le partizioni Windows come [[\\server\share|questa]] sono pure riconosciute.

Note:

Collegamenti a immagini

Si può anche usare un'immagine per creare un collegamento a un'altra pagina, interna o esterna, combinando la sintassi per i collegamenti e per le immagini (vedi sotto) come questa:

[[http://www.php.net|{{wiki:dokuwiki-128.png}}]]

Notare: la formattazione dell'immagine è l'unica sintassi di formattazione accettata nei nomi dei collegamenti.

L'intera sintassi delle immagini e dei collegamenti è supportata (incluso il ridimensionamento, immagini interne ed esterne e i collegamenti di tipo URL e interwiki).


Note a piè di pagina

Si possono aggiungere note a piè di pagina 1) usando parentesi doppie.

Si possono aggiungere note a piè di pagina ((Questa è una nota a piè di pagina)) usando parentesi doppie.

Suddivisione in sezioni

Si possono usare fino a cinque differenti livelli di intestazione per strutturare il contenuto. Se si hanno più di tre intestazioni, una tabella dei contenuti è generata automaticamente - ciò può essere disabilitato includendo la stringa ~~NOTOC~~ nel documento.

Livello di intestazione 3

Livello di intestazione 4

Livello di intestazione 5
==== Livello di intestazione 3 ====
=== Livello di intestazione 4 ===
== Livello di intestazione 5 ==

Usando quattro o più trattini, si può fare una linea orizzontale:


Immagini e altri file

Si possono includere immagini esterne e interne mediante parentesi graffe. In alternativa, se ne possono specificare le dimensioni.

Dimensione reale:

Ridimensionata a una larghezza data:

Ridimensionata a larghezza e altezza date2):

Immagine esterna ridimensionata:

Dimensione reale:                        {{wiki:dokuwiki-128.png}}
Ridimensionata a una larghezza data:            {{wiki:dokuwiki-128.png?50}}
Ridimensionata a larghezza e altezza date: {{wiki:dokuwiki-128.png?200x50}}
Immagine esterna ridimensionata:           {{http://de3.php.net/images/php.gif?200x50}}

Usando spazi bianchi a sinistra o a destra si può scegliere l'allineamento.

{{ wiki:dokuwiki-128.png}}
{{wiki:dokuwiki-128.png }}
{{ wiki:dokuwiki-128.png }}

Naturalmente, si può aggiungere anche un titolo (visualizzato come suggerimento dalla maggior parte dei programmi di navigazione).

Questa è la didascalia

{{ wiki:dokuwiki-128.png |Questa è la didascalia}}

Se si specifica il nome di un file (esterno o interno) che non è un'immagine (gif, jpeg, png), allora esso sarà visualizzato come collegamento.

Per collegare un'immagine a un'altra pagina, vedere Collegamenti a immagini sopra.

Liste

Dokuwiki supporta liste ordinate e non-ordinate. Per creare un elemento di una lista, indentare il testo con due spazi e usare un asterisco (*) per le liste non ordinate oppure un trattino (-) per quelle ordinate.

  1. La stessa lista ma ordinata
  2. Un altro elemento
    1. Usare semplicemente l'indentazione per ottenere livelli più profondi
  3. È tutto
  * Questa è una lista
  * Il secondo elemento
    * Si possono avere livelli differenti
  * Un altro elemento

  - La stessa lista ma ordinata
  - Un altro elemento
    - Usare semplicemente l'indentazione per ottenere livelli più profondi
  - È tutto

Conversioni di testo

DokuWiki può convertire alcuni caratteri predefiniti o stringhe in immagini altro testo o HTML.

La conversione di testo in immagini è fatta principalmente per le faccine. E la conversione del testo in formato HTML è usata per sostituzione tipografica ma può essere configurata per usare anche altro HTML.

Conversioni di testo in immagini

DokuWiki converte le emoticon comunemente usate nei rispettivi equivalenti grafici. Queste faccine e altre immagini possono essere configurate ed estese. Ecco una panoramica delle faccine incluse in DokuWiki.

Conversioni di testo in HTML

DokuWiki può convertire semplici caratteri di testo nelle rispettive entità tipograficamente corrette. Ecco un esempio dei caratteri riconosciuti.

→ ← ↔ ⇒ ⇐ ⇔ » « – — 640×480 © ™ ® “He thought 'It's a man's world'…”

-> <- <-> => <= <=> >> << -- --- 640x480 (c) (tm) (r)  
"He thought 'It's a man's world'..."

La stesso può essere fatto per produrre ogni tipo di codice HTML, e necessario soltanto aggiungerlo nel pattern file

Esistono tre eccezioni che non provengono dal pattern file: moltiplicazione di entità (640×480) 'singole' e “ doppie virgolette”. Possono essere disattivate tramite un'opzione di configurazione

Citazioni

Talvolta si vuole contrasegnare del testo per mostrare che esso è una risposta o un commento. Si può usare la sintassi seguente:

Penso che dovremmo farlo

> No, non dovremmo  

>> Be', dico che dovremmo  

> Davvero?  

>> Sì!  

>>> Allora facciamolo!  

Penso che dovremmo farlo

No, non dovremmo
Be', dico che dovremmo
Davvero?
Sì!
Allora facciamolo!

Tabelle

DokuWiki supporta una semplice sintasi per la creazione di tabelle.

Intestazione 1 Intestazione 2 Intestazione 3
Riga 1 Col 1 Riga 1 Col 2 Riga 1 Col 3
Riga 2 Col 1 Celle unite (notare il doppio pipe)
Riga 3 Col 1 Riga 3 Col 2 Riga 3 Col 3

Le righe delle tabelle devono iniziare e terminare con un carattere | per le righe normali o con il carattere ^ per le intestazioni.

^ Intestazione 1 ^ Intestazione 2  ^ Intestazione 3      ^
| Riga 1 Col 1   | Riga 1 Col 2    | Riga 1 Col 3        |
| Riga 2 Col 1   | Celle unite (notare il doppio pipe)  ||
| Riga 3 Col 1   | Riga 3 Col 2    | Riga 3 Col 3        |

Per unire le celle orizzontalmente, è sufficiente rendere completamente vuota la cella successiva come mostrato sopra. Assicurarsi di avere sempre lo stesso numero totale di separatori di celle!

È pure possibile realizzare intestazioni verticali di tabella.

Intestazione 1 Intestazione 2
Intestazione 3 Riga 1 Col 2 Riga 1 Col 3
Intestazione 4 niente fusione questa volta
Intestazione 5 Riga 2 Col 2 Riga 2 Col 3

Come si può notare, è il separatore di cella prima di una cella che decide il tipo di formattazione:

|                 ^ Intestazione 1              ^ Intestazione 2     ^
^ Intestazione 3  | Riga 1 Col 2                | Riga 1 Col 3       |
^ Intestazione 4  | niente fusione questa volta |                    |
^ Intestazione 5  | Riga 2 Col 2                | Riga 2 Col 3       |

Si possono avere celle unite verticalmente aggiungendo ::: dentro le celle sotto quella a cui devono connettersi.

Intestazione 1 Intestazione 2 Intestazione 3
Riga 1 Col 1 questa cella è unita verticalmente Row 1 Col 3
Riga 2 Col 1 Row 2 Col 3
Riga 3 Col 1 Row 2 Col 3

A parte la sintassi di unione quelle celle non devono contenere niente altro.

^ Intestazione 1 ^ Intestazione 2                     ^ Intestazione 3     ^
| Riga 1 Col 1    | questa cella è unita verticalmente | Riga 1 Col 3        |
| Riga 2 Col 1    | :::                                | Riga 2 Col 3        |
| Riga 3 Col 1    | :::                                | Riga 3 Col 3        |

Si può allineare anche il contenuto di una tabella. È sufficiente aggiungere almeno due spazi bianchi al lato opposto del testo: aggiungere due spazi a sinistra per allineare a destra, due spazi a destra per allineare a sinistra e almeno due spazi ad entrambi i lati per il testo centrato.

Tabella con allineamento
destra centro sinistra
sinistra destra centro
xxxxxxxxxxxx xxxxxxxxxxxx xxxxxxxxxxxx

Ecco come appare nel sorgente:

^         Tabella con allineamento         ^^^
|        destra|    centro    |sinistra      |
|sinistra      |        destra|    centro    |
| xxxxxxxxxxxx | xxxxxxxxxxxx | xxxxxxxxxxxx |

Nota: l'allineamento verticale non è supportato.

Nessuna formattazione

Se avete bisogno di visualizzare il testo esattamente come è scritto (senza alcuna formattazione), racchiudete l'area sia con il marcatore <nowiki> o più semplicemente, con i segni di doppia percentuale %%.

Questo è del testo che contiene indirizzi come questo http://www.splitbrain.org e **formattazione**, ma niente è fatto con esso. Lo stesso è vero per //__questo__ testo// con una faccina ;-).

<nowiki>
Questo è del testo che contiene indirizzi come questo: http://www.splitbrain.org e **formattazione**, ma niente è fatto con esso.
</nowiki>
Lo stesso è vero per %%//__questo__testo// con una faccine ;-)%%.

Blocchi di codice

È possibile includere blocchi di codice nei documenti sia indentandoli con almeno due spazi (come negli esempi precedenti), sia usando i marcatori code o file.

Questo testo è intentato con due spazi.
Questo è codice preformattato e tutti gli spazi sono preservati: come              <-questo
  
Questo è praticamente la stessa cosa, ma si potrebbe usare per mostrare che è stato citato un file.
  

Questi blocchi sono stati creati da questi sorgenti:

Questo testo è indentato con due spazi.
<code>
Questo è codice preformato ogni spazio è preservato: come              <-questo
</code>
<file>
Questo è praticamente la stessa cosa, ma si potrebbe usare per mostrare che è stato citato un file.
</file>

Evidenziazione di sintassi

DokuWiki può sottolineare il codice sorgente, che lo rende più facile da leggere. Usa la GeSHi Generic Syntax Highlighter – così ogni linguaggio supportato da GeSHi è consentito. La sintassi è la stessa di quelle dei blocchi di codice o file nella precedente sezione, ma questa volta il nome del linguaggio usato è inserito all'interno del marcatore. Ad esempio <code java> o <file java>.

/**
 * La classe HelloWorldApp implementa un'applicazione che
 * mostra semplicemente "Hello World!" come risultato.
 */
class HelloWorldApp {
    public static void main(String[] args) {
        System.out.println("Hello World!"); //Visualizza la stringa.
    }
}

Le seguenti stringhe di linguaggio sono correntemente riconosciuti: 4cs, abap, actionscript-french, actionscript, actionscript3, ada, apache, applescript, asm, asp, autoconf, autohotkey, autoit, avisynth, awk, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, cpp, cpp-qt, csharp, css, cuesheet, d, dcs, delphi, diff, div, dos, dot, ecmascript, eiffel, email, erlang, fo, fortran, freebasic, fsharp, gambas, genero, genie, gdb, glsl, gml, gnuplot, groovy, gettext, gwbasic, haskell, hicest, hq9plus, html, icon, idl, ini, inno, intercal, io, j, java5, java, javascript, jquery, kixtart, klonec, klonecpp, latex, lisp, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, modula2, modula3, mmix, mpasm, mxml, mysql, newlisp, nsis, oberon2, objc, ocaml-brief, ocaml, oobas, oracle8, oracle11, oxygene, oz, pascal, pcre, perl, perl6, per, pf, php-brief, php, pike, pic16, pixelbender, plsql, postgresql, povray, powerbuilder, powershell, progress, prolog, properties, providex, purebasic, python, q, qbasic, rails, rebol, reg, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, vala, vbnet, vb, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, winbatch, whois, xbasic, xml, xorg_conf, xpp, z80

Blocchi di codice scaricabili

Quando si usa la sintassi <code> o <file> come sopra, si potrebbe volere rendere il codice mostrato disponibile per anche per il prelevamento. Si può fare specificando un nome di file dopo il codice del linguaggio come questo:

<file php myexample.php>
<?php echo "hello world!"; ?>
</file>
myexample.php
<?php echo "hello world!"; ?>

Se non si vuole un file scaricabile senza nessuna evidenziazione, specificate un trattino (-) come codice del linguaggio: <code - myfile.foo>.

Incorporare codice HTML e PHP

Potete incorporare righe di codice HTML o PHP nei vostri documenti usando i marcatori <html> o <php>. (Usate i marcatori maiuscoli se è necessario includere gli elementi in blocchi)

Esempio HTML:

<html>
Questo è <span style="color:red;font-size:150%;">HTML in riga</span>
</html>
<HTML>
<p style="border:2px dashed red;">E questo è un blocco HTML</p>
</HTML>

<html> Questo è HTML in riga </html> <HTML> <p style=“border:2px dashed red;”>E questo è un blocco HTML</p> </HTML>

Esempio PHP:

<php>
echo 'Un logo generato da PHP:';
echo '<img src="' . $_SERVER['PHP_SELF'] . '?=' . php_logo_guid() . '" alt="PHP Logo !" />';
echo '(generated inline HTML)';
</php>
<PHP>
echo '<table class="inline"><tr><td>Lo stesso, ma all'interno di un elemento di livello blocco:</td>';
echo '<td><img src="' . $_SERVER['PHP_SELF'] . '?=' . php_logo_guid() . '" alt="PHP Logo !" /></td>';
echo '</tr></table>';
</PHP>

<php> echo 'Un logo generato da PHP:'; echo '<img src=“' . $_SERVER['PHP_SELF'] . '?=' . php_logo_guid() . '” alt=“PHP Logo !” />'; echo '(inline HTML)'; </php> <PHP> echo '<table class=“inline”><tr><td>Lo stesso, ma all'interno di un elemento di livello blocco:</td>'; echo '<td><img src=“' . $_SERVER['PHP_SELF'] . '?=' . php_logo_guid() . '” alt=“PHP Logo !” /></td>'; echo '</tr></table>'; </PHP>

Notate bene: l'incorporazione di codice HTML e PHP è disabilitata per impostazione predefinita nella configurazione. Se disabilitata, il codice è visualizzato invece di essere eseguito.

Aggregazione di sorgenti RSS/ATOM

DokuWiki può integrare dati da sorgenti XML esterne. Per l'analisi sintattica delle sorgenti XML è usato SimplePie. Tutti i formati riconosciuti da SimplePie possono essere usati anche in DokuWiki. Si può modificare la visualizzazione mediante diversi parametri separati da uno spazio:

Parametro Descrizione
any number sarà usato come numero massimo di elementi da visualizzare, predefinito a 8
reverse visualizza per primi gli ultimi elementi
author visualizza i nomi degli autori degli elementi
date visualizza le date degli elementi
description visualizza la descrizione dell'elemento. Se HTML è disabilitato, tutti i tag HTML saranno rimossi
n[dhm] periodo di aggiornamento, dove d=giorni, h=ore, m=minuti. (ad es. 12h = 12 ore).

Il periodo di aggiornamento predefinito è di 4 ore. Ogni valore al di sotto di 10 minuti sarà considerato come 10 minuti. Generalmente DokuWiki cercherà di fornire una versione della pagina memorizzata localmente; ciò è ovviamente inappropriato quando la pagina contiene del contenuto esterno dinamico. Il parametro dice a DokuWiki di ricaricare nuovamente la pagina se è trascorso un tempo superiore a periodo di aggiornamento dall'ultima volta che la pagina è stata visualizzata.

Esempio:

{{rss>http://slashdot.org/index.rss 5 author date 1h }}  

Macro di Controllo

Alcune sintassi influenzano come DokuWiki restituisce una pagina senza creare risultati a sé. Le seguenti macro di controllo sono disponibili:

Macro Descrizione
~~NOTOC~~ Se questa macro è trovata nella pagina, la tabella dei contenuti non sarà creata
~~NOCACHE~~ DokuWiki si serve automaticamente della memoria cache. Talvolta questo comportamento potrebbe non essere voluto (ad esempio quando è usata la sintassi <php> di cui sopra), aggiungendo questa macro si forza DokuWiki a ricaricare la pagina ad ogni richiesta

Moduli aggiuntivi per la sintassi

La sintassi di DokuWiki può essere estesa mediante Moduli aggiuntivi. Come sono utilizzati i moduli aggiuntivi è spiegato nelle rispettive pagine di descrizione del caso. I seguenti moduli aggiuntivi per la sintassi sono disponibili in questa particolare installazione di DokuWiki:

1)
Questa è una nota a piè di pagina
2)
quando il rapporto tra la larghezza e l'altezza dati non corrispondono con quelli dell'immagine, verrà ritagliata al nuovo rapporto prima di essere ridimensionata