Macro settings and sizing
Both macro modes share the same configuration editor and store two values: the source and a maximum height.
Settings
| Setting | Purpose | Validation and default |
|---|---|---|
| HTML, CSS, and JavaScript source | The code rendered by the macro. | Any text, including an intentionally empty value. A new macro receives a starter example. |
| Maximum height (pixels) | Intended maximum height for the rendered macro. | A whole number from 200 through 5000; the editor defaults to 1200. |
Select Save to persist both values, or Cancel to close the editor without saving. If a height is outside the permitted range, the editor will show an error and will not save it.
How sizing works
The rendered content reports its document height to the macro frame. The frame grows as content is added, removed, or resized. Once the frame reaches its supported maximum, the content scrolls inside the frame instead of expanding the Confluence page further.
Current rendering cap
The current renderer clamps displayed macro content at 1200 pixels. The editor accepts and saves values from 200 through 5000 pixels for macro configuration compatibility, but values above 1200 do not currently increase the visible rendered height. Plan tall content around the 1200-pixel cap and verify scrolling in the published page.
Source storage
The source is stored with the Confluence macro configuration as source; it is not sent to a separate app storage service. The height is stored as the string parameter maxHeight.
An intentionally empty source remains empty. It does not revert to the example content. The example is used only when a macro genuinely has no saved source or legacy body.
Editing tips
- Use a smaller maximum height for compact widgets and callouts.
- Let long tables, code samples, or dashboards scroll within the macro.
- Resize-aware content (for example, content that expands after a button click) is measured again automatically.
- If a macro does not appear at the intended size, republish the page after saving and check that its content is not constrained by its own CSS.