Guide de syntaxe XWiki


Syntaxe XWiki 2.1

Syntaxe XWiki 2.1: Tout

Général

Introduction

2.1 Introduction

Depuis l'introduction de la syntaxe XWiki 2.0, quelques lacunes de cette syntaxe ont été trouvées. Pour y remédier, la syntaxe XWiki 2.1, actuellement expérimentale, a été ajoutée dans XWiki Enterprise version 3.0. Cette nouvelle syntaxe a été notamment développée pour les raisons suivantes:

  • Homogénéiser la syntaxe des liens et des images pour plus de cohérence et de clarté, ainsi que la possibilité de l'étendre ultérieurement.
  • Ajouter la possibilité d'afficher des icônes, d'utiliser la notation UNC pour ajouter des liens, et de créer des liens vers des adresses relatives.

 La syntaxe XWiki 2.1 étant basée sur la syntaxe XWiki 2.0, toute la syntaxe XWiki 2.0 reste valable sauf si les caractéristiques de la syntaxe XWiki 2.1 précisent un changement. 

En plus de ces 2 syntaxes XWiki, nous avons aussi changé notre moteur de rendu sous-jacent (précédemment c'était Radeox) en faveur de notre propre moteur, qui est un sur-ensemble emballé autour de Wikimodel et Doxia (et éventuellement d'autres dans le futur). Cela nous a permis de fournir d'autres syntaxes dans le wiki: MediaWiki, Confluence, JSPWiki, Creole, TWiki et plus

Remarques générales

2.0 General Remarks

La syntaxe XWiki v2.1 corrige quelques erreurs et le problème de la syntaxe ambiguë comme indiqué dans les exemples du tableau ci-dessous:

DescriptionExemple de syntaxe invalide ou ambiguëCorrigé dans la syntaxe XWiki 2.1
Des styles de texte non fermés**gras**gras**
Deux éléments autonomes non séparés par 2 nouvelles lignes| cellule de tableau
* élément de liste
| cellule de tableau

* élément de liste
Deux éléments autonomes non séparés par 2 nouvelles lignesparagraphe
----
paragraphe
paragraphe

----

paragraphe
Nouvelle ligne ignorée au début du document<nouvelle ligne au début du document>
paragraphe
paragraphe
La syntaxe avec des titres non fermés=== titre=== titre ===

D'autres syntaxes

1.0 Other Syntaxes

Les syntaxes suivantes sont mises en œuvre dans XWiki Enterprise 1.6 et dans les version ultérieures:

Mise en forme

Paragraphes

2.0 Paragraphs

Les paragraphes sont des éléments de texte séparés par 2 ou plusieurs nouvelles lignes.

La syntaxe XWiki 2.1 tient compte des sauts de ligne, ce qui n'est pas le cas des syntaxes XWiki 1.0 et Creole.

FonctionnalitéSyntaxe XWiki 2.1Résultat
Paragraphe simpleCeci est un paragrapheCeci est un paragraphe
Paragraphe sur plusieurs lignes Paragraphe sur
plusieurs lignes
Paragraphe sur
plusieurs lignes
Deux paragraphesLe premier paragraphe

Le deuxième paragraphe
Le premier paragraphe

Le deuxième paragraphe
Paragraphe personnalisé(% style="text-align:center; color:blue" %)
Paragraphe centré et bleu

Paragraphe centré et bleu

Titres

2.0 Headings

FonctionnalitéSyntaxe XWiki 2.1Résultat
Titres standard
= niveau 1 = 
== niveau 2 ==
=== niveau 3 ===
==== niveau 4 ====
===== niveau 5 =====
====== niveau 6 ======

niveau 1

 

niveau 2

niveau 3

niveau 4

niveau 5
niveau 6
Titres paramétrés(% style="color:blue" %)
= titre =

titre

Titres en syntaxe wiki=== Titre en **gras** ===

Titre en gras

Formatage du texte

2.0 Text Formatting

Nouveau en syntaxe XWiki  2.1 sur la syntaxe XWiki 1.0:

  • Les espaces sont autorisés, juste après les symboles de syntaxe.
  • L'utilisation des symboles doubles au cas où il y avait seulement un symbole en syntaxe XWiki 1.0, de sorte qu'il soit moins probable que l'utilisateur s'en serve dans le texte de manière erronée.
  • La possibilité d'avoir plusieurs lignes.
FonctionnalitéSyntaxe XWiki  2.1Résultat
Gras**gras**gras
Souligné__souligné__souligné
Italique//italique//italique
Barré--barré--barré
Espacement fixe##espacement fixe##espacement fixe
Puissanceutilisation de la ^^puissance^^utilisation de la puissance
Indiceutilisation de l',,indice,,utilisation de l'indice

La ligne horizontale

2.0 Horizontal Line

FonctionnalitéSyntaxe XWiki 2.1Résultat
Ligne horizontale simple----

Ligne horizontale paramétrée
(% style="color:blue" %)
----

Listes

2.0 Lists

FeatureXWiki Syntax 2.1Result
Liste à puces
* élément 1
** élément 2
*** élément 3
* élément 4
  • élément 1
    • élément 2
      • élément 3
  • élément 4
Liste numérotée
1. élément 1
11. élément 2
111. élément 3
1. élément 4
  1. élément 1
    1. élément 2
      1. élément 3
  2. élément 4
Liste mixte
1. élément 1
1*. élément 2
1*. élément 3
1. élément 4
  1. élément 1
    • élément 2
    • élément 3
  2. élément 4
Liste aux carrés
(% style="list-style-type: square" %)
* élément 1
* élément 2
  • élément 1
  • élément 2
Liste aux disques
(% style="list-style-type: disc" %)
* élément 1
* élément 2
  • élément 1
  • élément 2
Liste alphabétique en minuscules
(% style="list-style-type: lower-alpha" %)
* élément 1
* élément 2
  • élément 1
  • élément 2
Liste alphabétique en majuscules
(% style="list-style-type: upper-alpha" %)
* élément 1
* élément 2
  • élément 1
  • élément 2
Liste Romaine en minuscules
(% style="list-style-type: lower-roman" %)
* élément 1
* élément 2
  • élément 1
  • élément 2
Liste Romaine en majuscules
(% style="list-style-type: upper-roman" %)
* élément 1
* élément 2
  • élément 1
  • élément 2
Liste Grecque en minuscules
(% style="list-style-type: lower-greek" %)
* élément 1
* élément 2
  • élément 1
  • élément 2
Liste Grecque en majuscules
(% style="list-style-type: upper-greek" %)
* élément 1
* élément 2
  • élément 1
  • élément 2
Liste Hiragana
(% style="list-style-type: hiragana" %)
* élément 1
* élément 2
  • élément 1
  • élément 2
Liste Hiragana Iroah
(% style="list-style-type: hiragana-iroha" %)
* élément 1
* élément 2
  • élément 1
  • élément 2
Liste Katakana
(% style="list-style-type: katakana" %)
* élément 1
* élément 2
  • élément 1
  • élément 2
Liste Katakana Iroha
(% style="list-style-type: katakana-iroha" %)
* élément 1
* élément 2
  • élément 1
  • élément 2
Liste Arménienne
(% style="list-style-type: armenian" %)
* élément 1
* élément 2
  • élément 1
  • élément 2
Liste Hébraïque
(% style="list-style-type: hebrew" %)
* élément 1
* élément 2
  • élément 1
  • élément 2
Liste Géorgienne
(% style="list-style-type: georgian" %)
* élément 1
* élément 2
  • élément 1
  • élément 2
Liste CJK idéographique
(% style="list-style-type: cjk-ideographic" %)
* élément 1
* élément 2
  • élément 1
  • élément 2

Listes de définitions

2.0 Definition Lists

FonctionnalitéSyntaxe XWiki 2.1Résultat
Définition standard
; terme
: définition
terme
définition
Définitions imbriquées
; terme1
: définition1
:; terme2
:: définition2
terme1
définition1
terme2
définition2
Définition paramétrée
(% style="color:blue" %)
; terme
: définition
terme
définition

Nouvelle ligne/Sauts de ligne

2.0 New Line Line Breaks

Une nouvelle ligne est un retour chariot. Un saut de ligne est une nouvelle ligne forcée qui peut apparaître n'importe où dans le texte.

En syntaxe XWiki 2.0, les nouvelles lignes sont ignorées, ce qui n'est pas le cas de la syntaxe XWiki 1.0 et Creole.

FonctionnalitéSyntaxe XWiki 2.1Résultat
Saut de ligneLigne\\Nouvelle ligneLigne
Nouvelle ligne
Nouvelle ligneLigne
Nouvelle ligne
Ligne
Nouvelle ligne

Liens

FonctionnalitéSyntaxe XWiki 2.1Résultat
Lien vers une page de l'espace courant[[WebHome]]XWiki
Lien avec étiquette[[étiquette>>WebHome]]étiquette
Lien vers une page avec l'espace spécifié[[Main.WebHome]]Main
Lien vers un sous-wiki[[sous-wiki:Main.WebHome]]Main
Lien qui s'ouvre dans une nouvelle page[[étiquette>>WebHome||rel="__blank"]]étiquette
Lien vers un URL placé directement dans le texteCeci est un URL: http://xwiki.orgCeci est un URL: http://xwiki.org
Lien vers un URL[[http://xwiki.org]]http://xwiki.org
Lien vers un URL avec étiquette[[XWiki>>http://xwiki.org]]XWiki
Lien vers une adresse email[[john@smith.net>>mailto:john@smith.net]]john@smith.net
Lien image

[[image:Espace2.Page2@img.png>>Espace1.Page1]]
La syntaxe Wiki est supportée dans les étiquettes des liens.

img.png
Lien image avec paramètres image[[[[image:Space2.Page2@img.png||width="26" height="26"]]>>Space1.Page1]]img.png
Lien vers une pièce jointe à la page courante[[texte>>attach:img.png]]texte
Lien vers une pièce jointe à une autre page[[texte>>attach:Space.Page@img.png]]texte
Lien vers une ancre dans une page[[label>>Space.Page||ancre=ancre]]label
Lien vers un titre dans une page[[label>>XWiki.XWikiSyntax||anchor=HMontitre]]label

Quand vous ajoutez un Titre, une ancre nommée "H" suivie du titre avec uniquement les lettres est créé. Par exemple, pour le Titre "Mon titre", l'ancre générée sera "HMontitre".

Spécifications des liens pour la syntaxe XWiki 2.1

La syntaxe complète d'un lien est (label>>)?(link)(||parameters)*

  • label: L'étiquette du lien qui peut contenir de la syntaxe wiki 
  • link: La cible du lien, c'est-à-dire, où aller après cliquer sur un lien.  La syntaxe ressemble à la syntaxe XWiki 1.0 et peut contenir 2 types de URI: mailto: etattach:pour des liens vers une adresse email et vers une pièce jointe.
  • parameters: Une liste optionnelle de paramètres transmis au lien.
    • queryString: An optional query string for specifying parameters that will be appended to the link target address and used in the rendered URL. Example: url:http://domain.com/path||queryString="mydata1=5&mydata2=Hello" produces target address http://domain.com/path?mydata1=5&mydata2=Hello
    • anchor: An optional anchor name pointing to an anchor defined in the referenced link. Note that in XWiki anchors are automatically created for headings. Example: url:http://domain.com/path||anchor="HTableOfContents" produces target address http://domain.com/path#HTableOfContents
    • rel: An optional parameter that allows to open link target in new window. Example: rel="__blank"

Tableaux

2.0 Tables

En syntaxe XWiki 2.0, il est également possible d'avoir des paramètres pour le tableau, la ligne ou la cellule.

FonctionnalitéSyntaxe XWiki 2.1Résultat
Tableau standard
|=Titre 1|=Titre 2
|Mot 1|Mot 2
ou
!=Titre 1!=Titre 2
!!Mot 1!!Mot 2
Titre 1Titre 2
Mot 1Mot 2
Tableau paramétré

|=Titre 1|=(% style="background-color: yellow" %)Titre 2
|Mot 1|Mot 2

Titre 1Titre 2
Mot 1Mot 2
Tableau filtrable et pouvant
être trié
{{velocity}}
$xwiki.ssfx.use
("js/xwiki/table/table.css")
$xwiki.jsfx.use
("js/xwiki/table/tablefilterNsort.js", true)
{{/velocity}}

{{html}}
<table id="tableid" 

class="grid sortable filterable doOddEven"> <tr class="sortHeader"> <th>Titre1</th> <th>Titre2</th> </tr> <tr> <td>Cellule11</td> <td>Cellule12</td> </tr> <tr> <td>Cellule21</td> <td>Cellule22</td> </tr> </table> {{/html}}

Titre1 Titre2
Cellule11 Cellule12
Cellule21 Cellule22

Images

2.1 Images

FonctionnalitéSyntaxe XWiki 2.1Résultat
Image d'une pièce jointe à la page couranteimage:img.pngimg.png
Image d'une pièce jointe à un autre documentimage:Space.Page @img.pngimg.png
Image avec des paramètres[[image:img.png|| width="25" height="25"]]img.png
Images localisées dans un URLimage:http://some/url/img.pngimg.png
Icônesimage:icon:acceptaccept

Avancé

Verbatim

2.0 Verbatim

Vous permet d'avoir un contenu qui ne sera pas formaté . En d'autres termes, la syntaxe wiki ne sera pas prise en compte.

FonctionnalitéSyntaxe XWiki 2.1Résultat
Verbatim en-ligneDu contenu verbatim {{{**[[non rendu]]**}}}Du contenu verbatim **[[non rendu]]**
Le bloc Verbatim
{{{
Du contenu
**verbatim**
sur plusieurs lignes
}}}
Du contenu 
**verbatim**
sur plusieurs lignes

Citations

2.0 Quotations

FonctionnalitéSyntaxe XWiki 2.1Résultat
Citation simple
> John a dit cela.
J'ai dit ok.

 John a dit cela.

J'ai dit ok.

Citations imbriquées
> John a dit cela.
>> Marie a répondu cela.
J'ai dit ok.

 John a dit cela.

 Marie a répondu cela.

J'ai dit ok.

Groupes

2.0 Groups

Les groupes peuvent être utilisés pour insérer un autre document  directement dans le document courant. Cela permet par exemple d'insérer des éléments complexes à l'intérieur d'un élément d'une liste ou dans une cellule de tableau. Les groupes sont délimités par les éléments syntaxiques suivants:(((...))). Un groupe peut contenir un autre groupe et il n'y a pas de limite d'imbrication.

Syntaxe XWiki 2.1Résultat
|=Titre 1|=Titre 2|=Titre 3
|Cellule 1|(((
= Document ancré

Un paragraphe ancré.

* élément de liste 1
* élément de liste 2
  ** sous-élément 1
  ** sous-élément 2
))) | Cellule 3

Le paragraphe suivant dans le document de haut niveau
Titre 1Titre 2Titre 3
Cellule 1

Document ancré

Un paragraphe ancré.

  • élément de liste 1
  • élément de liste 2
    • sous-élément 1
    • sous-élément 2
 Cellule 3

Le paragraphe suivant dans le document de haut niveau

Protéger les caractères

2.0 Escapes

FonctionnalitéSyntaxe XWiki 2.1Résultat
Pour un caractère

Ceci n'est pas un ~[~[lien~]~]
Pour renseigner le caractère ~ utilisez l'Escape double: ~~

Ceci n'est pas un [[lien]]

Paramètres

2.0 Parameters

En syntaxe XWiki 2.1, il est possible de passer des paramètres aux divers éléments de syntaxe et aussi aux blocs de texte. Vous pouvez utiliser ces paramètres par exemple pour créer des styles. Il est possible de choisir n'importe quelle paire clé/valeur. Le moteur de rendu XHTML va passer ces paramètres en tant que XHTML attributs à la représentation XHTML sous-jacente des éléments de syntaxe. 

Syntaxe XWiki 2.1XHTML généré
(% class="myClass" style="myStyle" id="myId" %)
= titre =
<h1 class="myClass" style="myStyle" id="myId">titre</h1>

Programmer

Macros

2.0 Macros

En syntaxe XWiki 2.0, il y a aussi deux types de macros:

  • Les macros Velocity appelées en utilisant la syntaxe #macroname(param1 ... paramN) dans la Macro Velocity
  • Les macros XWiki appelées en utilisant la syntaxe{{macroname param1="value1" ... paramN="valueN"}}

Pour accéder à la liste de toutes les macros disponibles, allez à la page de référence des macros.

FonctionnalitéSyntaxe XWiki 2.1Résultat
Macro
{{code language="java"}}
System.out.println("Hello World!");
{{/code}}
System.out.println("Hello World!");

Les macros Radeox ne peuvent pas être utilisées en syntaxe XWiki 2.0. C'est la raison pour laquelle elles ont été ré-écrites comme des macros XWiki. 

Pour accéder à la liste de toutes les macros disponibles, allez sur Extensions wiki.

Macros dans ce wiki

IdNomCatégorieDescriptionVisiblité
tocTable Of ContentsNavigationGenerates a Table Of Contents.Global
iconPickerIcon PickerDevelopmentSelect an icon within the XWiki icon set.Wiki courant
formulaFormulaContentDisplays a mathematical formula.Global
wikimacrocontentWikiMacro ContentDevelopmentDisplay editable content of a wikimacro.Global
exampleExampleFormattingShows an example and its source code.Wiki courant
mentionUser MentionNotificationsInserts a user mention.Wiki courant
gdprSettingsGdpr settingsGet what kind of cookies the current user has consented to. (preferences, statistics or marketing)Wiki courant
asyncAsyncContentAsynchronous and cached execution of wiki content.Global
spaceindexSpace IndexDeprecatedLists documents in a space.Wiki courant
figureCaptionFigure CaptionDevelopmentProvide a figure caption when used inside the Figure macro.Global
socialMediaSharesocialMediaShareWiki courant
boxBoxFormattingDraw a box around provided content.Global
spacesSpacesDeprecatedDisplays all the spaces in this wiki.Wiki courant
errorError MessageFormattingDisplays an error message note.Global
videoVideoContentDisplay in your wiki page any video from Youtube, Dailymotion, Google Video or Vimeo.

Also play a video attached to your wiki page using Video.js library. mp4, webm and ogv formats are supported.

The video macro can also plays a DASH video (Dynamic Adaptive Streaming over HTTP).|Wiki courant

warningWarning MessageFormattingDisplays a warning message note.Global
messageSenderMessage SenderSocialA control that allows users to enter messages that are handled by the MessageStream module.Wiki courant
childrenChildrenNavigationDisplays a tree of children pages of the current pageWiki courant
workspacesWorkspacesDeprecatedDeprecated macro that should not be used, here for compatibility reason. Please use the "wikis" macro instead.Wiki courant
displayDisplayContentDisplay other pages into the current page.Global
translationTranslationContentDisplay a translation message.Global
contextContextDevelopmentExecutes content in the context of the passed documentGlobal
infoInfo MessageFormattingDisplays an info message note.Global
treeTreeNavigationDisplays a tree hierarchy defined by the macro content or the source parameter.Wiki courant
liveDataLive DataContentDisplay dynamic lists of data.Global
rssRSSContentOutput latest feed entries from a RSS feed.Global
successSuccess MessageFormattingDisplays a success message note.Global
documentTreeDocument TreeNavigationDisplays the tree of XWiki documents.Wiki courant
templateTemplateDevelopmentInsert a template.Global
notificationsAutoWatchPreferencesNotifications Auto Watch PreferencesNotificationsWiki courant
chartChartContentDisplays a graphical chart generated from miscellaneous data sourcesGlobal
pageBoxpageBox
containerContainerLayoutA macro to enclose multiple groups and add decoration, such as layout.Global
quizQuizWiki courant
relationsRelationsDevelopmentWiki courant
notificationsEmailPreferencesNotifications Email PreferencesNotificationsDisplay the preferences of the current user about notification emails.Wiki courant
tagcloudTag CloudContentDisplays the cloud of tags in this wiki or in the specified space, if any.Wiki courant
activityActivity (legacy)NotificationsProvide a macro implemented with the Notifications Application to keep a backward compatibility with Activity Stream.Wiki courant
pythonPythonDevelopmentExecutes a python script.Global
commentCommentDevelopmentAllows putting comments in the source content. This macro doesn't output anything.Global
htmlHTMLDevelopmentInserts HTML or XHTML code into the page.Global
contentContentContentAllows writing content in any wiki markupGlobal
scriptScriptDevelopmentExecute script in provided script language.Global
useravatarUser AvatarContentAllows displaying the avatar for a specific user.Global
officeOffice Document ViewerContentView office attachments (doc, ppt, xls, odt, odp, ods etc.) inside wiki pages without downloading or importing them.Global
galleryGalleryLayoutDisplays the images found in the provided content using a slide-show view.Global
notificationsSystemFiltersPreferencesNotifications System Filters PreferencesNotificationsDisplay the preferences of the given user about system notification filters.Wiki courant
carouselcarouselWiki courant
dashboardDashboardLayoutA macro to define a dashboard.Global
figureFigureDevelopmentTag content as an illustration and with an optional caption.Global
putFootnotesPut FootnoteContentDisplays the footnotes defined so far. If missing, all footnotes are displayed by default at the end of the page.Global
wikisWikisNavigationList all wikisWiki courant
tweettweetInsertion dynamique d'un tweetWiki courant
attachmentSelectorAttachment SelectorDevelopmentA control to be used for object properties of the current document that are supposed to contain the name of an attachment from the current (or target) document. Allows uploading new attachments, and deleting attachments from the target document.  If no target document is specified, the current document will be used. Object properties are only saved to the current document.Wiki courant
notificationsApplicationsPreferencesNotifications Applications PreferencesNotificationsDisplay the preferences of the current user about notification applications.Wiki courant
cacheCacheDevelopmentCaches content.Global
factCheckBoxfactCheckBox
menuMenuNavigationDisplays a menu created using simple wiki syntax (nested lists and links).Globale
notificationsCustomFiltersPreferencesNotifications Custom Filters PreferencesNotificationsDisplay the preferences of the given user about custom notification filters.Wiki courant
jobprogressJob ProgressInternalProvide a UI to follow asynchronous job progressionWiki courant
jobJobDevelopmentExecute the macro content asynchronously and display progress.Global
documentsDocumentsContentDisplays a list of documents in a LivetableWiki courant
notificationsFiltersPreferencesNotifications Filters Preferences (deprecated)NotificationsDisplay the preferences of the current user about notification filters.
This macro is now deprecated in favor of Custom Notifications Filters Preferences or System Notifications Filters Preferences.
Wiki courant
notificationsNotificationsNotificationsWiki courant
attachmentsAttachmentsDisplays the list of attachments for a given document using a live table.Wiki courant
velocityVelocityDevelopmentExecutes a Velocity script.Global
pdfviewerPDF ViewerView PDF attachments inside wiki pages without downloading or importing them.Global
wikimacroparameterWikiMacro ParameterDevelopmentDisplay editable parameter of a wikimacro.Global
groovyGroovyDevelopmentExecute a groovy script.Global
footnoteFootnoteContentGenerates a footnote to display at the end of the page.Global
jwplayerJW PlayerContentThe JW Player is an open-source embeddable media player for web sites, supporting many commonly-used audio and video formats. The player is easy to configure, customize and extend.Wiki courant
codeCodeFormattingHighlights code snippets of various programming languagesGlobal
livetableExporterAdd exporter button to a livetableAdd a button that can export the current livetable to a CSV or Excel file.Wiki courant
resourceBoxresourceBox
idIdNavigationAllows putting a reference/location in a page. In HTML for example this is called an Anchor. It allows pointing to that location, for example in links.Global
includeIncludeContentInclude other pages into the current page.Global

HTML

2.0 HTML

En syntaxe XWiki 2.1, le code HTML ou XHTML doit être écrit en utilisant la macro {{html}}.

Syntaxe XWiki 2.1Résultat
{{html}}<b>gras</b>{{/html}}gras

En syntaxe XWiki 2.1, par défaut, la macro {{html}} ne peut pas analyser la syntaxe wiki. Pour l'activer, utilisez {{html wiki="true"}}.

Scripts

2.0 Scripts

En syntaxe XWiki 1.0, il était possible d'inclure des scripts Velocity directement dans la page. Cela a créé quelques problèmes, par exemple, les cas où l'utilisateur avait inclus involontairement du contenu Velocity. Cela affectait aussi la performance des pages qui ne nécessitaient pas de contenu Velocity. Il y avait eu d'autres limitations techniques. Ainsi, en syntaxe XWiki 2.1, les scripts Velocity doivent être inclus en utilisant la macro velocity. En va de même pour l'inclusion des scripts Groovy.

FeatureSyntaxe XWiki 2.1
Script Velocity
{{velocity}}
#set ($var = "quelquechose")
{{/velocity}}
Script Groovy
{{groovy}}
def var = "quelquechose"
{{/groovy}}