Markdown
Places one markdown document on the page. The document comes from a page attachment, an external URL, or markdown stored under the page as Confluence custom content. Source precedence is fixed and mutually exclusive: attachment wins, then URL, then page-stored markdown.

Shape | Block (bodiless). The markdown is never stored in the page body. |
|---|---|
Name in the suite | Markdown (Capable) |
Name in the standalone app | Markdown macro (Capable) |
Where you configure it | Its own full-screen modal titled 'Configure Markdown'. A catalogue of insert sources (Markdown from scratch / Markdown from URL / Markdown from file / Studio / templates / examples) followed by a live editor with title, description and 'Show border', then Save. It is not a field form. |
Anonymous readers | UnlicensedAccess: [unlicensed, anonymous] in both products. Renders for logged-out readers of public pages, except URL-sourced documents. |
PDF and Word export | Word/PDF export only in the Suite, and it exports the markdown SOURCE inside a fenced code block, not rendered prose. |
Published Capable Site | On a published Capable Site it exports as real rendered HTML (markdown-it, sanitised, external images downloaded locally), wrapped in .c-macro--markdown, with the Title as an <h2>. |
#Settings
Setting | Values | Default | What it changes |
|---|---|---|---|
Title | Free text, capped at 50 characters in the editor (placeholde | empty | Intended as the heading strip above the document, shown only when Show Border is on. IMPORTANT: the released config UI never writes this into the macro config. The title you type is saved onto the stored document, and the header text a read |
Show Border (Options) | Multi-select array with the single value 'Show Border'; show | OFF. The macro reads the raw config with | Draws a 1px rounded border with padding and turns on the title header strip with a Maximize button. Carried into the static-site export as a bordered wrapper. |
URL | Any http(s) URL to a markdown file | Empty (the field pre-fills with the merm | Fetches the markdown at view time so the page follows the source file. It is not copied in. GitHub/GitLab/Bitbucket web URLs are auto-rewritten to raw . Relative image paths resolve against the document's own directory. |
attachmentId | Id of a markdown file attached to the same page | unset | Renders that attachment's contents; beats URL and page-stored markdown. Set only by the 'Markdown from file' picker. Attachments are filtered to media types text/markdown, text/x-markdown, application/markdown, application/x-markdown, text/ |
Fallback Custom Content ID | Custom content id | unset | Internal bookkeeping written on save so the macro can find its own document before the search index catches up, and so the exporters can resolve the body. Never shown as a user setting. |
Hash | Md5 of the saved document plus title | unset | Internal change-detection stamp. No visible effect. |
Version | Number. The custom-content version saved against. | unset | Internal bookkeeping only; the macro always renders the current stored document, not this version. |
#Where the content comes from

Markdown from scratch | The section the insert modal opens on. Blank live editor; text is saved as markdown stored under the page. 'Upload file' or drop accepts .md/.markdown/.mdx/.txt. Content is appended after a blank line and the filename (first 50 chars, extension stripped) seeds an empty title. |
|---|---|
Markdown from URL | Enter a URL, preview the fetched markdown, save it as the macro's url parameter (live, not copied). Failure shows the fetch error plus 'Please ensure the provided URL returns raw text content'. |
Markdown from file | Pick an existing page attachment or drop/upload a .md/.markdown/.mdx/.txt file onto the page, then render it. |
Studio (Suite only) | 'Generate markdown with AI'. Requires the websockets:enabled flag plus tenant AI on, so it never appears in the standalone Markdown app. |
Templates and Examples | Selecting a template COPIES its markdown into the macro's own document, which then diverges. A trailing ' template' is stripped from the copied title. Live linkage is what the reference macro is for. |
#Related
One macro, documented properly.
