XWiki Syntax 2.1 ยป Programming

XWiki Syntax 2.1: Programming


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!");
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

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
blogPostLayoutFullBlog Post Layout FullThis macro is used to display a full blog postGlobal
exampleExampleFormattingShows an example and its source code.Current Wiki
blogPostLayoutImageBlog Post Layout ImageThis macro is used to display a full blog post with a thumbnail imageGlobal
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
stagingSheetStaging sheetContentA macro to use in sheets of object that should have a staging area.Current Wiki
messageSenderMessage SenderSocialA control that allows users to enter messages that are handled by the MessageStream module.Current Wiki
tooltipTooltipCurrent 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
moccacalendarMocca CalendarContentDisplays a CalendarGlobal
treeTreeNavigationDisplays a tree hierarchy defined by the macro content or the source parameter.Current Wiki
rssRSSContentOutput latest feed entries from a RSS feed.Global
blogsBlogs LivetableThe blogs macro is used to list on a livetable all the blog available on the wiki 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
propertyMatrixProperty MatrixContentShows a table where all of the properties of instances of a particular class are shown side-by-side.Current Wiki
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
blogPostLayoutLinkBlog Post Layout LinkThis macro is used to display a blog post as a simple linkGlobal
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
blogPostLayoutCardsCards Blog Post LayoutThis macro is used to display a blog post using the 'Cards' layoutGlobal
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
diagramDiagramContentDisplays a diagram.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
blogPostLayoutCompactBlog Post Layout CompactThis macro is used to display a full blog post in a compact modeGlobal
blogpostcreateBlog Post CreateThe Blog Post Create macro is used to insert a post creation form. The macro takes a blog descriptor document as parameter. The new blog posts will belongs to the blog specified in the parameter.Global
blogpostlistBlog post listThe BlogPostMacro is used to search and display blog posts based on some parameters, the results can be displayed using customizable templates.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
pdfviewerpdfviewerContentPDF Viewer based on Mozilla pdf.jsCurrent Wiki
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
calendarCalendarContentDisplays a CalendarCurrent Wiki
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


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"}} .


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
#set ($var = "whatever")
Groovy script
def var = "whatever"
Created by superadmin on 2020/03/09 16:18

Need help?

If you need help with XWiki you can contact:

XWiki 11.10.3