The confluence-markdown-exporter exports Confluence pages in Markdown format. This exporter helps in migrating content from Confluence to platforms that support Markdown e.g. Obsidian, Foam, Dendron and more.
- Converts Confluence pages to Markdown format.
- Uses the Atlassian API to export individual pages, pages including children, and whole spaces.
- Supports various Confluence elements such as headings, paragraphs, lists, tables, and more.
- Retains formatting such as bold, italic, and underline.
- Converts Confluence macros to equivalent Markdown syntax where possible.
- Handles images and attachments by linking them appropriately in the Markdown output.
- Supports extended Markdown features like tasks, alerts, and front matter.
- Headings: Converts Confluence headings to Markdown headings.
- Paragraphs: Converts Confluence paragraphs to Markdown paragraphs.
- Lists: Supports both ordered and unordered lists.
- Tables: Converts Confluence tables to Markdown tables.
- Formatting: Supports bold, italic, and underline text.
- Links: Converts Confluence links to Markdown links.
- Images: Converts Confluence images to Markdown images with appropriate links.
- Code Blocks: Converts Confluence code blocks to Markdown code blocks.
- Tasks: Converts Confluence tasks to Markdown task lists.
- Alerts: Converts Confluence info panels to Markdown alert blocks.
- Front Matter: Adds front matter to the Markdown files for metadata like page properties and page labels.
To use the confluence-markdown-exporter, follow these steps:
-
Installation: Install python package via pip.
pip install confluence-markdown-exporter
-
Setting Environment Parameters
- Set
ATLASSIAN_USERNAME
to your Atlassian account email address (e.g. [email protected]) - Set
ATLASSIAN_API_TOKEN
to your Atlassian token that can be created on https://id.atlassian.com/manage-profile/security/api-tokens - Set
ATLASSIAN_URL
to your Atlassian instance URL (e.g. https://company.atlassian.net)
export ATLASSIAN_USERNAME="work mail address" export ATLASSIAN_API_TOKEN="API token Test" export ATLASSIAN_URL="https://company.atlassian.net"
- Set
-
Exporting: Run the exporter with the desired Confluence page ID or space key.
Export a single Confluence page:
confluence-markdown-exporter page <page-id e.g. 645208921> <output path e.g. ./output_path/>
Export a Confluence page and all it's descendants:
confluence-markdown-exporter page-with-descendants <page-id e.g. 645208921> <output path e.g. ./output_path/>
Export all Confluence pages of a single Space:
confluence-markdown-exporter space <space-key e.g. MYSPACE> <output path e.g. ./output_path/>
Export all Confluence pages across all spaces:
confluence-markdown-exporter all-spaces <output path e.g. ./output_path/>
[!TIP] Instead of
confluence-markdown-exporter
you can also use the shorthandcf-export
. -
Output: The exported Markdown file(s) will be saved in the specified
output
directory e.g.:output_path/ └── MYSPACE/ ├── MYSPACE.md └── MYSPACE/ ├── My Confluence Page.md └── My Confluence Page/ ├── My nested Confluence Page.md └── Another one.md
If you would like to contribute, please read our contribution guideline.
This tool is an open source project released under the MIT License.