Supported Extensions & Macros
acp2md uses the same conversion engine as ac2any. That engine recognizes a broad catalog of Confluence extensions, marketplace-app macros, embeds, and media types and decides, element by element, whether to render real content from Confluence or preserve the original element as a safe HTML comment.
All extension handling is enabled by default. If one extension is missing the context it needs, that element falls back to an HTML comment, a warning is emitted in the logs, and the rest of the page still converts normally.
Supported categories
| Category | What acp2md renders | Operational note |
|---|---|---|
| Images and media | Inline images, Confluence-hosted media files, and non-image attachments such as PDF, Office, and archive files | Non-image attachments are saved as sidecar files beside the Markdown so the export remains self-contained |
| Diagrams | draw.io and Roadmap Planner diagrams | Rendered as embedded base64 PNGs |
| Page-listing macros | Page Tree, Children, Recently Updated, Blog Posts, Content by Label, and List Labels | Some page-level runs need explicit space context for clean resolution |
| People and activity macros | Contributors, Task Report, and Content Report Table | Rendered as Markdown lists or tables |
| Document control | Page Signatures | Rendered as a signatures table or a reviewers fallback table |
| QC documents | qc-property-macro and qc-revision-macro | Resolves template placeholders into actual page metadata |
| Cards and embeds | Inline cards, embed cards, and block cards for Jira, Confluence, and YouTube | Produces human-readable links instead of opaque raw markup |
| Lossless fallback | Anchors, excerpts, bodied extensions, and unrecognized macros | Preserved as HTML comments so content is not silently dropped |
Flags that control extension behavior
For the full page-conversion syntax, examples, and output behavior, use Convert Pages.
Images and media
| Flag | Default | What it controls |
|---|---|---|
--embed-images | true | Embed images as base64 data URIs |
--ext-embed-drawio | true | Embed draw.io diagrams as base64 images |
--ext-embed-roadmap | true | Embed Roadmap Planner diagrams as base64 images |
--embed-media-images | true | Embed Confluence media files such as avatars and inline images as base64 data URIs |
Extension rendering
| Flag | Default | What it controls |
|---|---|---|
--ext-render-toc | true | Generate a Markdown table of contents from document headings |
--ext-render-recently-updated | true | Render the recently-updated macro as a Markdown list |
--ext-render-listlabels | true | Render label badges |
--ext-render-pagetree | true | Render the pagetree macro as a nested Markdown list |
--ext-render-children | true | Render the children macro as a flat Markdown list |
--ext-render-contributors | true | Render the contributors macro as a Markdown list |
--ext-render-page-signatures | true | Render Document Control signature tables |
--ext-render-qc-properties | true | Render QC property and revision macros with their actual values |
--ext-render-task-report | true | Render the tasks-report-macro as a Markdown table |
--ext-render-content-report | true | Render the content-report-table macro as a Markdown table |
--ext-resolve-inline-card-titles | true | Resolve inline Confluence card links to their actual page titles |
Context-sensitive behavior
--space-keyis required when a page-level conversion needs space-aware rendering for--ext-render-recently-updatedor--ext-render-listlabels.--ext-render-task-reportand--ext-render-content-reportrely on live Confluence data during conversion.- Pass
--embed-images=falsewhen smaller output is more important than a fully self-contained Markdown file.
When to inspect complexity first
Use Count & Analyze before conversion when you need to estimate how macro-heavy or formatting-heavy a page is before migration, publishing, or AI ingestion.