Skip to main content
Version: Next ๐Ÿšง

Configuration options

Reference for every supported option. All options can be set via cme config set <key>=<value> or overridden per-session through the listed environment variable.

export.*โ€‹

export.log_levelโ€‹

Controls output verbosity: DEBUG (every step), INFO (key milestones), WARNING (warnings/errors only), ERROR (errors only).

  • Default: INFO
  • ENV Var: CME_EXPORT__LOG_LEVEL

export.output_pathโ€‹

The directory where all exported files and folders will be written. Used as the base for relative and absolute links.

  • Default: ./ (current working directory)
  • ENV Var: CME_EXPORT__OUTPUT_PATH

export.page_hrefโ€‹

How to generate links to pages in Markdown. Options: relative (default), absolute, or wiki.

  • Default: relative
  • ENV Var: CME_EXPORT__PAGE_HREF
ValueOutput
relative[Page Title](../path/to/page.md)
absolute[Page Title](/space/path/to/page.md)
wiki[[Page Title]]

export.page_pathโ€‹

Path template for exported pages.

  • Default: {space_name}/{homepage_title}/{ancestor_titles}/{page_title}.md
  • ENV Var: CME_EXPORT__PAGE_PATH

export.attachment_hrefโ€‹

How to generate links to attachments in Markdown. Options: relative (default), absolute, or wiki.

  • Default: relative
  • ENV Var: CME_EXPORT__ATTACHMENT_HREF
ValueOutput
relative[file.pdf](../path/to/file.pdf) / ![alt](../path/to/image.png)
absolute[file.pdf](/space/attachments/file.pdf) / ![alt](/space/attachments/image.png)
wiki[[file.pdf|File Title]] / ![[image.png]]

export.attachment_pathโ€‹

Path template for attachments.

  • Default: {space_name}/attachments/{attachment_file_id}{attachment_extension}
  • ENV Var: CME_EXPORT__ATTACHMENT_PATH

On Confluence Data Center / Server, where the API does not provide fileId, {attachment_file_id} falls back to the content id, so the default template still produces unique filenames.

export.attachments_exportโ€‹

Which attachments to download to disk.

ValueBehaviour
referencedOnly attachments whose ID/filename appears in the page body (default).
allEvery attachment on the page. Large or numerous attachments increase export time.
disabledSkip downloads entirely: no files written, no lockfile entries, no lookup. Body image and file links still point at attachment_path, but the files will not exist locally.
  • Default: referenced
  • ENV Var: CME_EXPORT__ATTACHMENTS_EXPORT

export.image_captionsโ€‹

Whether to export Confluence image captions in the exported Markdown. When enabled, the storage format of each page is fetched (via an additional API body expansion) and ac:image captions are extracted and rendered as an italic line directly below the image:

![](image.png)
_Caption text_

When disabled, no caption is added.

  • Default: False
  • ENV Var: CME_EXPORT__IMAGE_CAPTIONS

export.page_breadcrumbsโ€‹

Whether to include breadcrumb links at the top of the page.

  • Default: True
  • ENV Var: CME_EXPORT__PAGE_BREADCRUMBS

export.page_properties_formatโ€‹

Controls how Confluence Page Properties macros (key-value tables) are rendered. Duplicate property keys are automatically disambiguated by appending a counter (e.g. status, status_2, status_3).

ValueDescription
frontmatterExtract to YAML front matter; table is removed from the page body
tableKeep as a regular markdown table; no metadata is written
frontmatter_and_tableWrite to YAML front matter and keep the original table in the body (default)
dataview-inline-fieldReplace the table with Dataview Key:: Value inline fields
meta-bind-view-fieldsWrite YAML front matter and a table using Meta Bind VIEW[{key}][text] fields
Migration

The legacy page_properties_as_front_matter=true/false is still accepted and maps to frontmatter / table respectively.

  • Default: frontmatter_and_table
  • ENV Var: CME_EXPORT__PAGE_PROPERTIES_FORMAT

export.page_properties_report_formatโ€‹

Controls how Confluence Page Properties Report macros (dynamic cross-page property tables) are rendered.

ValueDescription
frozenExport the rendered table as a static markdown table snapshot (default)
dataviewTranslate the CQL query to an Obsidian Dataview DQL code block; requires the Dataview plugin and all referenced child pages to be exported with their page properties as front matter; falls back to a frozen table if the query cannot be translated
  • Default: frozen
  • ENV Var: CME_EXPORT__PAGE_PROPERTIES_REPORT_FORMAT

export.confluence_url_in_frontmatterโ€‹

Whether to include the original Confluence page URL in the YAML front matter of the exported file.

ValueDescription
noneDo not include any URL (default)
webuiInclude confluence_webui_url (human-readable URL; may change when the page is renamed or moved)
tinyuiInclude confluence_tinyui_url (stable short permalink based on the page ID; survives renames and moves)
bothInclude both fields

If a Page Properties macro on the page already defines confluence_webui_url or confluence_tinyui_url, the value from the macro takes precedence over the URL extracted from the API.

  • Default: none
  • ENV Var: CME_EXPORT__CONFLUENCE_URL_IN_FRONTMATTER

export.page_metadata_in_frontmatterโ€‹

Add eight Confluence page metadata fields to the YAML front matter of each exported page.

FieldSource
confluence_page_idPage ID (string)
confluence_space_keySpace key
confluence_typeContent type (page or blogpost)
confluence_createdISO 8601 timestamp of when the page was first created (history.createdDate)
confluence_created_byDisplay name of the original author (history.createdBy.displayName)
confluence_last_modifiedISO 8601 timestamp of the most recent version (version.when), including minor edits
confluence_last_modified_byDisplay name of the last editor
confluence_versionVersion number (integer)

Fields with empty or zero values are omitted. If a Page Properties macro on the page already defines a key with the same name, the macro value takes precedence.

confluence_page_id is intentionally written as a quoted string (e.g. '629839369') rather than an integer. Confluence Cloud page IDs can exceed JavaScript's safe-integer range (2^53 โˆ’ 1), so JS-based static site generators (Hugo, Astro, โ€ฆ) parsing the front matter would silently truncate them. confluence_created and confluence_last_modified are also quoted because PyYAML wraps ISO-8601 timestamps with timezone offsets to prevent loaders from coercing the value into a datetime object.

Example front matter with both confluence_url_in_frontmatter: webui and page_metadata_in_frontmatter: true:

---
tags:
- team-foo
confluence_webui_url: https://.../wiki/spaces/.../pages/123/Title
confluence_page_id: '123'
confluence_space_key: TEAM
confluence_type: page
confluence_created: "2024-08-15T08:34:12.000+02:00"
confluence_created_by: Sam Creator
confluence_last_modified: "2026-04-12T10:34:00.000+02:00"
confluence_last_modified_by: Alex Johnson
confluence_version: 7
---
  • Default: false
  • ENV Var: CME_EXPORT__PAGE_METADATA_IN_FRONTMATTER

export.filename_encodingโ€‹

Character mapping for filename encoding.

  • Default: Default mappings for forbidden characters.
  • ENV Var: CME_EXPORT__FILENAME_ENCODING

export.filename_lengthโ€‹

Maximum length of filenames.

  • Default: 255
  • ENV Var: CME_EXPORT__FILENAME_LENGTH

export.filename_lowercaseโ€‹

Make all exported paths and filenames lowercase. By default the original casing from Confluence is retained.

  • Default: False
  • ENV Var: CME_EXPORT__FILENAME_LOWERCASE

export.include_document_titleโ€‹

Whether to include the document title in the exported markdown file. If enabled, the title will be added as a top-level heading.

  • Default: True
  • ENV Var: CME_EXPORT__INCLUDE_DOCUMENT_TITLE

export.include_tocโ€‹

Whether to export the Confluence Table of Contents macro. When enabled, the TOC is converted to markdown. When disabled, the TOC macro is removed from the output.

  • Default: True
  • ENV Var: CME_EXPORT__INCLUDE_TOC

export.include_macroโ€‹

Controls how Confluence include and excerpt-include macros are rendered. The include macro embeds the full content of another page; excerpt-include embeds a named excerpt from another page.

ValueBehaviour
inlineExpand the referenced page content inline at the point of inclusion (default). The body already rendered by Confluence is used, so no extra API calls are required.
transclusionEmit an Obsidian-style ![[Page Title]] embed link. Obsidian renders the link as an inline preview of the target note. The referenced page must also be exported to resolve.
  • Default: inline
  • ENV Var: CME_EXPORT__INCLUDE_MACRO

export.enable_jira_enrichmentโ€‹

Fetch Jira issue data to enrich Confluence pages. When enabled, Jira issue links include the issue summary. Requires Jira auth to be configured.

  • Default: True
  • ENV Var: CME_EXPORT__ENABLE_JIRA_ENRICHMENT

export.comments_exportโ€‹

Which comments to export to a sidecar .comments.md file placed next to the exported page file, using the same path stem.

ValueBehaviour
noneNo sidecar (default).
inlineOpen inline comments only (annotated text as blockquote, then author / date / body).
footerOpen page-level (footer) comments only.
allBoth, in a single sidecar with ## Inline comments first, then ## Page comments.

Only open comments are included; resolved comments are skipped. Replies are listed flat below their parent comment. Disabled by default; enabling adds one to two extra API calls per page.

Sidecar example for comments_export = "all":

---
confluence_page_id: '123'
confluence_page_title: "Example Page"
confluence_webui_url: "https://example.atlassian.net/wiki/spaces/TEAM/pages/123"
---

## Inline comments

### marked excerpt
> marked excerpt

**Alice** ยท 2026-04-01

Looks good to me.

## Page comments

### Discussion about the rollout

**Bob** ยท 2026-04-02

Are we shipping this Friday?

The legacy boolean key inline_comments is migrated automatically: true becomes "inline", false becomes "none".

  • Default: none
  • ENV Var: CME_EXPORT__COMMENTS_EXPORT

export.convert_status_badgesโ€‹

Whether to convert Confluence status badge macros to HTML <mark> elements coloured with the badge's background colour. Each lozenge variant maps to an Atlassian design-system pastel:

LozengeColourHex
Gray (default)Gray#dfe1e6
BlueBlue#cce0ff
GreenGreen#baf3db
YellowYellow / Orange#f8e6a0
RedRed#ffd5d2
PurplePurple / Violet#dfd8fd

When disabled, only the badge label text is kept.

  • Default: True
  • ENV Var: CME_EXPORT__CONVERT_STATUS_BADGES

export.convert_text_highlightsโ€‹

Whether to convert Confluence text highlights (<span style="background-color: rgb(...);">) to HTML <mark> elements with a hex color value. When disabled, the highlight span is stripped and only the plain text is kept.

  • Default: True
  • ENV Var: CME_EXPORT__CONVERT_TEXT_HIGHLIGHTS

export.convert_font_colorsโ€‹

Whether to convert Confluence font colors to HTML <font> elements with a hex color value. Handles both inline-style spans (<span style="color: rgb(...);">) and CSS-class-based spans (<span data-colorid="...">) used in the Confluence export view. When disabled, the color span is stripped and only the plain text is kept.

  • Default: True
  • ENV Var: CME_EXPORT__CONVERT_FONT_COLORS

export.skip_unchangedโ€‹

Skip exporting pages that have not changed since last export. Uses a lockfile to track page versions.

  • Default: True
  • ENV Var: CME_EXPORT__SKIP_UNCHANGED

export.cleanup_staleโ€‹

After export, delete local files for pages removed from Confluence or whose export path has changed.

  • Default: True
  • ENV Var: CME_EXPORT__CLEANUP_STALE

export.lockfile_nameโ€‹

Name of the lock file used to track exported pages.

  • Default: confluence-lock.json
  • ENV Var: CME_EXPORT__LOCKFILE_NAME

export.existence_check_batch_sizeโ€‹

Number of page IDs per batch when checking page existence during cleanup. Capped at 25 for self-hosted (CQL).

  • Default: 250
  • ENV Var: CME_EXPORT__EXISTENCE_CHECK_BATCH_SIZE

connection_config.*โ€‹

connection_config.backoff_and_retryโ€‹

Enable or disable automatic retry with exponential backoff on network errors.

  • Default: True
  • ENV Var: CME_CONNECTION_CONFIG__BACKOFF_AND_RETRY

connection_config.backoff_factorโ€‹

Multiplier for exponential backoff between retries. For example, 2 means each retry waits twice as long as the previous.

  • Default: 2
  • ENV Var: CME_CONNECTION_CONFIG__BACKOFF_FACTOR

connection_config.max_backoff_secondsโ€‹

Maximum seconds to wait between retries.

  • Default: 60
  • ENV Var: CME_CONNECTION_CONFIG__MAX_BACKOFF_SECONDS

connection_config.max_backoff_retriesโ€‹

Maximum number of retry attempts before giving up.

  • Default: 5
  • ENV Var: CME_CONNECTION_CONFIG__MAX_BACKOFF_RETRIES

connection_config.retry_status_codesโ€‹

HTTP status codes that trigger a retry.

  • Default: [413, 429, 502, 503, 504]
  • ENV Var: CME_CONNECTION_CONFIG__RETRY_STATUS_CODES

connection_config.timeoutโ€‹

Timeout in seconds for API requests. Prevents hanging on slow or unresponsive servers.

  • Default: 30
  • ENV Var: CME_CONNECTION_CONFIG__TIMEOUT

connection_config.verify_sslโ€‹

Whether to verify SSL certificates for HTTPS requests. Set to False only if you are sure about the security of your connection.

  • Default: True
  • ENV Var: CME_CONNECTION_CONFIG__VERIFY_SSL

connection_config.use_v2_apiโ€‹

Enable Confluence REST API v2 endpoints. Supported on Atlassian Cloud and Data Center 8+. Disable for self-hosted Server instances.

  • Default: False
  • ENV Var: CME_CONNECTION_CONFIG__USE_V2_API

connection_config.max_workersโ€‹

Maximum number of parallel workers for page export. Set to 1 for serial/debug mode. Higher values improve performance but may hit API rate limits.

  • Default: 20
  • ENV Var: CME_CONNECTION_CONFIG__MAX_WORKERS