I’m trying to create an inline macro similar to the Files & Images macro in Confluence Cloud (using Connect). The inline Files & Images macro allows users to adjust size, set page alignment and text wrapping options:
However, if I create a DynamicContentMacro in Confluence Cloud with Atlassian Connect and set the outputType
to inline
, I do not get these options:
I only get the edit and delete buttons and no size adjustments. The Confluence Cloud documentation is rather vague about how inline macro works, using unfamiliar terms (like macro-page
):
An inline macro is a type of macro that generates content within the text flow of a paragraph or other text element in which the macro appears, such as a status lozenge. To implement an inline macro, follow these general guidelines:
- In your
macro-page
declaration in the add-on descriptor, set theoutput-type
attribute toinline
. (Alternatively, if this value is set toblock
, the macro content will appear on a new line in the page output.)- If the output content should occupy a certain width and height, set those values as the width and height attributes for the element.
- To prevent the macro output from being automatically resized, set the
data-options
attribute in the script tag for all.js to "resize:false
". This turns off automatic resizing of the iframe.- If the size of the macro output content size is dynamic, call
AP.resize(w,h)
immediately after the DOM of your iframe is loaded.
https://developer.atlassian.com/cloud/confluence/modules/dynamic-content-macro/
Has anyone ever successfully implemented the inline macro in Confluence Cloud with Atlassian Connect, and if so, can you share your secrets?
EDIT 1: so the macro is to some extend “inline”, but not the type of inline I’m aiming for
EDIT 2: I’m aware of the Macro Property Panel options, but the issue is that I can’t control things like alignment or text wrapping from within my macro, let alone resizing. So even if I were to add buttons to the property panel, I still could not control how the macro works within the context of page rendering.