Metadata-Version: 2.1
Name: annalise-confluence-junction
Version: 1.0.1
Summary: Publish to and manage Confluence spaces with markdown files tracked in Git.
Home-page: https://github.com/HUU/Junction
License: MIT
Keywords: confluence,markdown,git,sync,convert
Author: Lachlan Newman
Author-email: lachnewman007@gmail.com
Requires-Python: >=3.8,<4.0
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Documentation
Classifier: Topic :: Office/Business
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Version Control :: Git
Classifier: Topic :: Text Editors :: Text Processing
Classifier: Topic :: Text Processing :: Markup :: HTML
Requires-Dist: CairoSVG (>=2.5.2,<3.0.0)
Requires-Dist: Faker (>=13.15.1,<14.0.0)
Requires-Dist: click (==8.1.3)
Requires-Dist: click-log (>=0.3.2,<0.4.0)
Requires-Dist: colorama (>=0.4.3,<0.5.0)
Requires-Dist: gitpython (>=3.0.5,<4.0.0)
Requires-Dist: markdown (>=3.0.1,<4.0.0)
Requires-Dist: markdown-emdash (>=0.1.0,<0.2.0)
Requires-Dist: markdown-urlize (>=0.2.0,<0.3.0)
Requires-Dist: markdownsubscript (>=2.1.1,<3.0.0)
Requires-Dist: markdownsuperscript (>=2.1.1,<3.0.0)
Requires-Dist: pyppeteer (>=1.0.2,<2.0.0)
Requires-Dist: pytest-mock (>=3.8.2,<4.0.0)
Requires-Dist: python-magic (==0.4.27)
Requires-Dist: requests (>=2.22.0,<3.0.0)
Project-URL: Repository, https://github.com/HUU/Junction
Description-Content-Type: text/markdown


# 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
```sh
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](https://confluence.atlassian.com/doc/spaces-139459.html).  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](#output-example).

# Usage

Collect a set of credentials that Junction will use to login to Confluence.  You will need to create an [API token](https://confluence.atlassian.com/cloud/api-tokens-938839638.html) 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.
``` bash

.
├── (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](https://github.blog/2022-02-14-include-diagrams-markdown-files-mermaid/)
