Publish Obsidian Markdown notes to Confluence over Kerberos
Project description
obsidian-publish-confluence
Publish Obsidian-flavored Markdown to Confluence over Kerberos.
Versioning is derived from Git tags for releases.
Features
- Create or update Confluence pages from Markdown.
- Track
markdown -> page_idmappings locally. - Upload attachments on both page create and update.
- Convert Obsidian image embeds like
![[image.png]]and![[image.png|400]]. - Convert fenced code blocks to Confluence code macros.
- Convert PlantUML blocks to attachments when a PlantUML server is configured.
- Leave
plantuml/pumlblocks as normal code blocks when no PlantUML server is configured.
Requirements
- Python 3.10+
curlkinitandklist- A Confluence instance that accepts Kerberos auth via
curl --negotiate
Installation
pip install obsidian-publish-confluence
For local development:
python -m pip install -e .
Configuration
Set these environment variables:
OBSIDIAN_PUBLISH_CONFLUENCE_BASE_URLOBSIDIAN_PUBLISH_CONFLUENCE_SPACEOBSIDIAN_PUBLISH_CONFLUENCE_PARENT_IDOBSIDIAN_PUBLISH_CONFLUENCE_MAPPING_FILE(optional)OBSIDIAN_PUBLISH_CONFLUENCE_PLANTUML_SERVER(optional)
Defaults:
OBSIDIAN_PUBLISH_CONFLUENCE_MAPPING_FILEdefaults to~/.config/obsidian-publish-confluence/mapping.jsonOBSIDIAN_PUBLISH_CONFLUENCE_PLANTUML_SERVERis disabled unless set
Usage
export OBSIDIAN_PUBLISH_CONFLUENCE_BASE_URL="https://confluence.example.com"
export OBSIDIAN_PUBLISH_CONFLUENCE_SPACE="DOCS"
export OBSIDIAN_PUBLISH_CONFLUENCE_PARENT_ID="123456"
obsidian-publish-confluence note.md
obsidian-publish-confluence note.md --title "Custom title"
obsidian-publish-confluence note.md --space DEV --parent-id 987654
obsidian-publish-confluence --check
Kerberos
The CLI expects a valid Kerberos ticket:
kinit YOUR_LOGIN@REALM.EXAMPLE
PlantUML
To enable PlantUML rendering, set:
export OBSIDIAN_PUBLISH_CONFLUENCE_PLANTUML_SERVER="http://localhost:9090"
Without this variable, PlantUML blocks stay regular code blocks.
Release versioning
The package version comes from the Git tag used for the release.
For PyPI releases, create a tag like v0.1.0 before publishing a GitHub Release.
Limitations
- Only image-style Obsidian embeds are converted to Confluence attachments.
- Non-image wiki links stay plain text.
- PDF embeds are not converted.
- Auth mode is Kerberos-only.
- If a note is not already tracked in the mapping file, a new Confluence page is created instead of matching an existing page by title.
Publishing
This repository includes GitHub Actions for:
- building distributions on push and pull request
- publishing to PyPI on GitHub Release
published
PyPI publishing is configured for Trusted Publishing.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file obsidian_publish_confluence-0.1.1.tar.gz.
File metadata
- Download URL: obsidian_publish_confluence-0.1.1.tar.gz
- Upload date:
- Size: 11.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
69ea410c67f5840b9bb81aaffc404dd526b50b002052133b709d2ed883c5ed8a
|
|
| MD5 |
fbad20dc5bad78e0cad77cd967353291
|
|
| BLAKE2b-256 |
bf38f118110db511fde5e7c03648d11f849d0ee570cefad980c6c06292f3b4b2
|
Provenance
The following attestation bundles were made for obsidian_publish_confluence-0.1.1.tar.gz:
Publisher:
publish.yml on kotborealis/obsidian-publish-confluence
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
obsidian_publish_confluence-0.1.1.tar.gz -
Subject digest:
69ea410c67f5840b9bb81aaffc404dd526b50b002052133b709d2ed883c5ed8a - Sigstore transparency entry: 2169249784
- Sigstore integration time:
-
Permalink:
kotborealis/obsidian-publish-confluence@48d36eb3f5b0419d4371266e9dbf5353c378ae3e -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/kotborealis
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@48d36eb3f5b0419d4371266e9dbf5353c378ae3e -
Trigger Event:
release
-
Statement type:
File details
Details for the file obsidian_publish_confluence-0.1.1-py3-none-any.whl.
File metadata
- Download URL: obsidian_publish_confluence-0.1.1-py3-none-any.whl
- Upload date:
- Size: 11.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e9a2b7732ca6e999a884bd75867f8677b68ad9789babf609b18aa88a40886256
|
|
| MD5 |
ec53c95d749b962d8968d394460d018e
|
|
| BLAKE2b-256 |
3faa92037294041d89634d61ececc885218921e5d4eae1135fb7fdff643f0251
|
Provenance
The following attestation bundles were made for obsidian_publish_confluence-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on kotborealis/obsidian-publish-confluence
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
obsidian_publish_confluence-0.1.1-py3-none-any.whl -
Subject digest:
e9a2b7732ca6e999a884bd75867f8677b68ad9789babf609b18aa88a40886256 - Sigstore transparency entry: 2169249823
- Sigstore integration time:
-
Permalink:
kotborealis/obsidian-publish-confluence@48d36eb3f5b0419d4371266e9dbf5353c378ae3e -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/kotborealis
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@48d36eb3f5b0419d4371266e9dbf5353c378ae3e -
Trigger Event:
release
-
Statement type: