markdown-to-confluence

command module
v0.0.0-...-0fba574 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 4, 2023 License: MIT Imports: 1 Imported by: 0

README

Markdown to Confluence Action

PLEASE READ THIS GUIDE ON HOW TO USE THIS TOOL CORRECTLY

  • This Action will crawl through a repository on github and create a tree of pages on confluence for all markdown / images:

Diagram of action methodology

When this action is run:

  1. A confluence page will be created containing the markdown documentation of a repository
  2. Any new markdown pages in the repository will be uploaded or updated
  3. A plaintext markup page will be generated and uploaded for code in pages with markdown
  4. Old markdown pages online that have been removed in the repository will be deleted

Features:

  1. Folders with no content will be skipped to prevent a long chain of child pages & general confusion.
  2. Images will be displayed in markdown pages.

Important:

  1. This creates a mirror image of documentation in github in confluence - you can add comments to pages but any edits to the pages in confluence will be deleted when the page is next updated. So don't bother editing these pages in confluence!
  2. There must be at least one markdown file in the root repository i.e README.md
  3. Markdown title taken by the name of the markdown file.
  4. Alternatively, title can be grabbed via TOML frontmatter. For more information on this, see the next section.

TOML frontmatter:

Frontmatter is essentially a location where you can add metadata to your markdown.

Here is an example of TOML frontmatter including the title.
+++
title = "example title goes here"
+++

For this to function, just place this frontmatter at the start of your markdown.
TOML frontmatter can include many more properties. For more information on TOML 
please visit this link here --> https://gohugo.io/content-management/front-matter/

At the moment this application only makes use of 'title' from frontmatter. Over time 
however this feature could grow. I guess it depends on the uptake of usage of frontmatter
against just using the # / ## titles.

This action uses the Confluence REST API

  • Tom

Documentation

Overview

main - the package where the tool begins to run

Directories

Path Synopsis
Package cmd contains code necessary to start the github action taking in arguments & setting them in variables in common package
Package cmd contains code necessary to start the github action taking in arguments & setting them in variables in common package
Package common is for storing common constants/vars used in app
Package common is for storing common constants/vars used in app
Package confluence provides functionality for interacting with the confluence APIClient Specifically managing pages
Package confluence provides functionality for interacting with the confluence APIClient Specifically managing pages
test/confluencemocks
Package confluencemocks is a generated GoMock package.
Package confluencemocks is a generated GoMock package.
Package markdown provides a method for working with and parsing markdown documents
Package markdown provides a method for working with and parsing markdown documents
Package node is to enable reading through a repo and create a tree of content on confluence
Package node is to enable reading through a repo and create a tree of content on confluence
Package semaphore is to control flow of concurrent operations
Package semaphore is to control flow of concurrent operations
Package todo is to gather all TODO's in a repo and store them in one file for people to look through notodo: this is the TODO PACKAGE so we don't need to pick this up
Package todo is to gather all TODO's in a repo and store them in one file for people to look through notodo: this is the TODO PACKAGE so we don't need to pick this up

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL