Skip to main content

Publish to and manage Confluence spaces with markdown files tracked in Git.

Project description

Annalise AI - Confluence Junction

This project is expanded from (https://github.com/HUU/Junction)

TO DO

  • move away from using a docker image and use a pushlished python package
  • unit tests for everything

Running Locally

To run this locally run docker compose up with the documents and images directory as env vairables

DOCS=<path to docs> IMAGE=<path to images> docker-compose up

Overview

Junction works by inspecting the changes made on a commit-by-commit basis to your Git repository, and determining what needs to be changed in Confluence to reflect those changes. Junction (currently) expects to manage the entire space in Confluence. Thus when using Junction you must tell it which Space to target and update. You must not manually change, create, or modify pages in the target space, or else Junction may be unable to synchronize the state in Git with the state in Confluence.

To allow mixing code (and other items) with markdown files for Junction in a single repository, you can tell Junction a subpath within your repository that functions as the root e.g. all markdown files will be kept in docs/. All files should end with the .md extension.

The page will gets its title from the file name, and its contents will be translated into Confluence markup. See this example for what output looks like in Confluence.

Usage

Collect a set of credentials that Junction will use to login to Confluence. You will need to create an API token to use instead of a password. I recommend you make a dedicated user account with access permissions limited to the space(s) you want to manage with Junction.

In your git repository, create a folder structure and markdown files you would like to publish. Commit those changes.

.
├── (your code and other files)
└── docs/
    ├── Welcome.md
    ├── Installation.md
    └── Advanced Usage
    |   ├── Airflow.md
    |   ├── Visual Studio Online.md
    |   ├── Atlassian Bamboo.md
    |   └── GitHub Actions.md
    └── Credits.md

Images

Images should be placed inside the images directory within a subdirectory that has the same name as the respective file. for the above example the image directory could look like this.

.
└── images/
    ├── Welcome/
        ├── image1.png
        └── image2.png
    ├──  Installation/
        └── image1.png
    └── Advanced Usage/
        ├── image1.png
        ├── image2.png
        ├── Airflow/
            └── image1.png

Mermaid Diagrams

Mermaid diagrams can be included in the markdown but must include the document name in the opening fence:

```mermaid filename=<document name>

see here for using mermaid.js in github

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

annalise_confluence_junction-2.0.0.tar.gz (46.3 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file annalise_confluence_junction-2.0.0.tar.gz.

File metadata

File hashes

Hashes for annalise_confluence_junction-2.0.0.tar.gz
Algorithm Hash digest
SHA256 577c15f94cfb6cef6fbb084d287667d80ca9c215cb72c4733c56374a2a6036cb
MD5 201966a661480d9209ab8c0b2704e196
BLAKE2b-256 69b85a1f64d8562e70fceee5ecd531d9549dc041e8ea93cf6a8165f520b0fb38

See more details on using hashes here.

File details

Details for the file annalise_confluence_junction-2.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for annalise_confluence_junction-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7c449e9e96e098ab300a30d92e88d6aea7c3c35c4a84d2aab4e0f22598c83763
MD5 79386e9bf5ab1a8536e6f19511f675d0
BLAKE2b-256 44f9652fc247aacb5b0f621cb3f54b5e3d1497e3a2dcfceff067a8e4b3f9f720

See more details on using hashes here.

Supported by

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