Wiki source code of Available Macros

Last modified by Thomas Mortagne on 2022/06/29 13:26

Show last authors
1 {{velocity}}
2 ## Find all wiki macros sp that we can find if a registered macro is a wiki macro
3 #set ($wikiMacroDocuments = $services.query.xwql("from doc.object(XWiki.WikiMacroClass) as macros").execute())
4 #set ($wikiMacroMap = {})
5 #foreach($macroDocumentName in $wikiMacroDocuments)
6 #set ($macroDocument = $xwiki.getDocument($macroDocumentName))
7 #set ($macroObject = $macroDocument.getObject("XWiki.WikiMacroClass"))
8 #set ($discard = $wikiMacroMap.put($macroObject.id, [$macroDocument.documentReference.toString(), $macroObject.visibility]))
9 #end
10 |=$services.localization.render('help.macroList.id')|=$services.localization.render('help.macroList.name')|=$services.localization.render('help.macroList.category')|=$services.localization.render('help.macroList.description')|=$services.localization.render('help.macroList.visibility')
11 #foreach ($descriptor in $services.rendering.getMacroDescriptors('xwiki/2.1'))
12 #set ($macroId = $macroDescriptor.id)
13 #set ($wikiMacroData = $wikiMacroMap.get($descriptor.id.id))
14 #if ("$!wikiMacroData" != '')
15 #set ($displayId = "[[$descriptor.id>>$wikiMacroData.get(0)]]")
16 #set ($displayVisibility = $wikiMacroData.get(1))
17 #else
18 #set ($displayId = $descriptor.id)
19 #set ($displayVisibility = "Global")
20 #end
21 |$displayId|$descriptor.name|$!descriptor.defaultCategory|$descriptor.description|$displayVisibility
22 #end
23 {{/velocity}}