Adding a user macro plugin
User Macros are a kind of Confluence plugin module.
User Macro Plugin Modules
User macro plugin modules allow plugin developers to define simple macros directly in the atlassian-plugin.xml file, without writing any additional Java code. User macro plugin modules are functionally identical to User Macros configured through the administrative console, except that they can be packaged and distributed in the same way as normal plugins.
Configuring a Macro Plugin Module
Macro plugin modules are configured entirely inside the atlassian-plugin.xml file, as follows:
<atlassian-plugin name='Hello World Macro' key='confluence.extra.helloworld'>
<plugin-info>
<description>Example user macro</description>
<vendor name="Atlassian Software Systems" url="http://www.atlassian.com"/>
<version>1.0</version>
</plugin-info>
<user-macro name='helloworld' key='helloworld' hasBody='true' bodyType='raw' outputType='html'>
<description>Hello, user macro</description>
<template><![CDATA[Hello, $body!]]></template>
</user-macro>
<!-- more macros... -->
</atlassian-plugin>
- The <template> section is required, and defines the velocity template that will be used to render the macro
- All the velocity variables available in User Macros are available in user macro plugin modules
- The name and key of the macro must be specified the same as Macro Plugins
- No class attribute is required
- The attributes of the <user-macro> element match the corresponding configuration for user macros:
Available Attributes
属性 |
必須 |
既定値 |
指定可能な値 |
hasBody |
いいえ |
false |
- true – the macro expects a body (i.e. {hello}World{hello})
- false – the macro does not expect a body (i.e. Hello, {name})
|
bodyType |
いいえ |
raw |
- raw – the body will not be processed before being given to the template
- escapehtml – HTML tags will be escaped before being given to the template
- rendered – the body will be rendered as wiki text before being given to the template
|
outputType |
いいえ |
html |
- html – the template produces HTML that should be inserted directly into the page
- wiki – the template produces Wiki text that should be rendered to HTML before being inserted into the page
|