XWiki Syntax Guide

Last modified by Thomas Mistelbauer on 2020/04/27 11:02

XWiki Syntax 2.1 ยป Programming

XWiki Syntax 2.1: Programming

Macros

2.0 Macros

There is only one kind of macro in XWiki Syntax 2.1, which is called by the syntax: {{macroname param1="value1" ... paramN="valueN"}}...{{/macroname}}. For macros without content there's a short notation: {{macroname param1="value1" ... paramN="valueN"/}}

FeatureXWiki Syntax 2.1Result
Rendering Macro with a content
{{code language="java"}}
System.out.println("Hello World!");
{{/code}}
System.out.println("Hello World!");
Rendering Macro without content

{{include reference="Space.Page"/}}

The referenced page is included in the current page

Radeox macros cannot be used in XWiki Syntax 2.1. Thus they have been rewritten as Rendering macros.

For the full list of available macros check the Extensions wiki.

Macros in this wiki

IdNameCategoryDescriptionVisibility
tocTable Of ContentsNavigationGenerates a Table Of Contents.Global
iconPickerIcon PickerDevelopmentSelect an icon within the XWiki icon set.Current Wiki
formulaFormulaContentDisplays a mathematical formula.Global
wikimacrocontentWikiMacro ContentDevelopmentDisplay editable content of a wikimacro.Global
exampleExampleFormattingShows an example and its source code.Current Wiki
asyncAsyncContentAsynchronous and cached execution of wiki content.Global
spaceindexSpace IndexDeprecatedLists documents in a space.Current Wiki
boxBoxFormattingDraw a box around provided content.Global
spacesSpacesDeprecatedDisplays all the spaces in this wiki.Current Wiki
errorError MessageFormattingDisplays an error message note.Global
warningWarning MessageFormattingDisplays a warning message note.Global
messageSenderMessage SenderSocialA control that allows users to enter messages that are handled by the MessageStream module.Current Wiki
childrenChildrenNavigationDisplays a tree of children pages of the current pageCurrent Wiki
workspacesWorkspacesDeprecatedDeprecated macro that should not be used, here for compatibility reason. Please use the "wikis" macro instead.Current Wiki
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.Current Wiki
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.Current Wiki
templateTemplateDevelopmentInsert a template.Global
notificationsAutoWatchPreferencesNotifications Auto Watch PreferencesNotificationsCurrent Wiki
chartChartContentDisplays a graphical chart generated from miscellaneous data sourcesGlobal
containerContainerLayoutA macro to enclose multiple groups and add decoration, such as layout.Global
notificationsEmailPreferencesNotifications Email PreferencesNotificationsDisplay the preferences of the current user about notification emails.Current Wiki
tagcloudTag CloudContentDisplays the cloud of tags in this wiki or in the specified space, if any.Current Wiki
activityActivity (legacy)NotificationsProvide a macro implemented with the Notifications Application to keep a backward compatibility with Activity Stream.Current Wiki
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
dashboardDashboardLayoutA macro to define a dashboard.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 wikisCurrent Wiki
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.Current Wiki
notificationsApplicationsPreferencesNotifications Applications PreferencesNotificationsDisplay the preferences of the current user about notification applications.Current Wiki
cacheCacheDevelopmentCaches content.Global
menuMenuNavigationDisplays a menu created using simple wiki syntax (nested lists and links).Global
documentsDocumentsContentDisplays a list of documents in a LivetableCurrent Wiki
notificationsFiltersPreferencesNotifications Filters PreferencesNotificationsDisplay the preferences of the current user about notification filters.Current Wiki
notificationsNotificationsNotificationsCurrent Wiki
velocityVelocityDevelopmentExecutes a Velocity script.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
codeCodeFormattingHighlights code snippets of various programming languagesGlobal
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

In XWiki Syntax 2.1 HTML or XHTML must be entered by using the HTML macro.

XWiki Syntax 2.1Result
{{html}}<b>bold</b>{{/html}} bold

In XWiki Syntax 2.1, by default the HTML macro does not understands XWiki Syntax (other macros included since it's XWiki Syntax too). To enable it, use {{html wiki="true"}} .

Scripts

2.0 Scripts

In XWiki Syntax 1.0 it was possible to enter Velocity scripts anywhere directly in the page. This lead to issues for example when the user was involuntarily entering Velocity content. It was also performance hungry for pages not requiring Velocity content. There were several other technical limitations. Thus in XWiki Syntax 2.1 Velocity scripts must be entered using the velocity macro. Same goes for entering Groovy scripts.

FeatureXWiki Syntax 2.1
Velocity script
{{velocity}}
#set ($var = "whatever")
{{/velocity}}
Groovy script
{{groovy}}
def var = "whatever"
{{/groovy}}