MkDocs Confluence Publisher Plugin
[!CAUTION] This is a hard fork of the original mkdocs-confluence-publisher. This version is unmaintained and is published to PyPI as
ss-mkdocs-confluence-publisher.
This version adds the following features:
- Orphan Page Support: Automatically creates pages in Confluence for Markdown files not listed in
mkdocs.yml, preserving directory hierarchy. - Page Pruning: Automatically deletes Confluence pages that no longer exist in your MkDocs source (optional).
- Robust Title Extraction: Automatically extracts page titles from the first H1 tag in Markdown files or falls back to capitalized filenames.
- Native Task Lists: Maps Markdown checkboxes (
- [ ],- [x]) to native interactive Confluence task list macros. - Enhanced Markdown Support:
- Admonitions: Full support for standard Markdown admonitions (
!!! note, etc.) mapped to corresponding Confluence macros (info,tip,note,warning). - Expandable Sections: Support for
pymdownx.details(??? expand) syntax using Confluence's expand macro. - Table of Contents: Support for
[TOC]markers mapped to Confluence's native TOC macro. - Horizontal Rules: Maps Markdown
---to native Confluence<hr />elements.
- Admonitions: Full support for standard Markdown admonitions (
- Improved Attachment Handling: Better detection and uploading of local images.
- Internal Link Validation: Automatically validates that same-page internal links (anchors) match the casing of the target headings. This prevents issues with Confluence's case-sensitive anchor system.
- Modern Build System: Built with
hatchlingand optimized for use withuv.
This MkDocs plugin automatically publishes your documentation to Confluence. It creates a hierarchical structure in Confluence that mirrors your MkDocs site structure, updates page content, and handles attachments.
Features
- Automatically creates and updates pages in Confluence
- Maintains the hierarchy of your MkDocs site in Confluence
- Handles attachments referenced in your markdown files
- Configurable page prefix for easy identification in Confluence
Installation
Install the plugin using uv:
uv pip install ss-mkdocs-confluence-publisher
Configuration
Add the following to your mkdocs.yml:
plugins:
- confluence-publisher:
confluence_prefix: "MkDocs - " # Optional: Prefix for page titles in Confluence
confluence_suffix: " - MkDocs" # Optional: Suffix for page titles in Confluence
space_key: "YOUR_SPACE_KEY" # Required: Confluence space key
parent_page_id: 123456 # Required: ID of the parent page in Confluence
prune_orphans: false # Optional: If true, deletes Confluence pages that are no longer in MkDocs
Environment Variables
The plugin requires the following environment variables to be set:
CONFLUENCE_URL: The base URL of your Confluence instanceCONFLUENCE_USERNAME: Your Confluence usernameCONFLUENCE_API_TOKEN: Your Confluence API token
You can set these in your environment or use a .env file.
Usage
Once configured, the plugin will automatically publish your documentation to Confluence when you build your MkDocs site:
mkdocs build
How It Works
- Initialization: The plugin connects to Confluence using the provided credentials.
- Page Creation: It creates a structure in Confluence mirroring your MkDocs navigation.
- Content Update: As it processes each page, it updates the content in Confluence.
- Attachment Handling: Any attachments referenced in your markdown are uploaded to the corresponding Confluence page.
Logging
The plugin uses Python's logging module. You can configure logging in your mkdocs.yml:
logging:
level: INFO
Set to DEBUG for more detailed logging information.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the Apache-2.0 license.
Release files for ss-mkdocs-confluence-publisher 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ss_mkdocs_confluence_publisher-0.2.0.tar.gz | 51.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ss_mkdocs_confluence_publisher-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 70.2 kB
Release files / ss_mkdocs_confluence_publisher-0.2.0.tar.gz
| Download URL | ss_mkdocs_confluence_publisher-0.2.0.tar.gz |
|---|---|
| Size | 51.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ed31e2ee20701937d55f6c87c3a348e144f3052b359877df7ab314f7e3f02501
|
|
BLAKE2b-256 checksum How to use checksums |
408ce7ca0806e1191d8ca8561d8fa2c39da59feafcd936386b0bc746d315940a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / ss_mkdocs_confluence_publisher-0.2.0-py3-none-any.whl
| Download URL | ss_mkdocs_confluence_publisher-0.2.0-py3-none-any.whl |
|---|---|
| Size | 18.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b3bba2613af25a496b830f0d5437897d94d54c9c5d8b23baf94fbfe3f6e003df
|
|
BLAKE2b-256 checksum How to use checksums |
a228e6ee85ad6eb61a1fb7d3f68d48a021ec467f146fb46679c4e632b1211a7f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|