Skip to main content

A MkDocs plugin to publish documentation to Confluence

Project description

MkDocs Confluence Publisher Plugin

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 pip:

pip install 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

Environment Variables

The plugin requires the following environment variables to be set:

  • CONFLUENCE_URL: The base URL of your Confluence instance
  • CONFLUENCE_USERNAME: Your Confluence username
  • CONFLUENCE_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

  1. Initialization: The plugin connects to Confluence using the provided credentials.
  2. Page Creation: It creates a structure in Confluence mirroring your MkDocs navigation.
  3. Content Update: As it processes each page, it updates the content in Confluence.
  4. 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mkdocs_confluence_publisher-0.2.0.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mkdocs_confluence_publisher-0.2.0-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

Details for the file mkdocs_confluence_publisher-0.2.0.tar.gz.

File metadata

File hashes

Hashes for mkdocs_confluence_publisher-0.2.0.tar.gz
Algorithm Hash digest
SHA256 3633673a3cbb2feb2a9728d82245f9d5cbbb9f9694dca4a217e8f590a0aefa0b
MD5 3847150644fc48b90047f7bab30f2bf0
BLAKE2b-256 22d9e8d9a527b2a803218c8dc09313aa42acc75a48595bedccffd8a220572b5b

See more details on using hashes here.

File details

Details for the file mkdocs_confluence_publisher-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mkdocs_confluence_publisher-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cc952a50f1f7f6d78bae9b799b8a342f44dced44e50bb0c3455c230b35838eed
MD5 6766b3ef11d1e3b9af847407cc0900bb
BLAKE2b-256 57e02348d6aeaf1b84442605a482dbba1adeb94c60ec7d30715f37d85868db3f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page