codimd-git-sync/README.md
2024-03-27 18:07:34 +01:00

1.5 KiB

A python webserver that automatically hooks into a mattermost instance, listens for any mentions of codiMD files, downloads them locally and then commits them to a git repo based on a specific metadata block in the codimd file.

TODO

  • Hook into mattermost to automatically react to new files

Done

  • Webserver that starts a sync when an endpoint is called
  • Automatic detection of codimd file links in mattermost message
  • Download of codimd files
  • Creation of a gitea pull request for any new files
  • Creation of new commits for any new changes to the files. Hereby updating the existing pull request or creating a new one.

Warning !

When running this in a new folder it will create a lot of mattermost messages because it will find a lot of CodiMD links that are not yet locally cached.

Afterwards all these links are registered in a local db.json file so the application knows they have been handled.

How to run (currently)

# Start local webserver
make webserver

# Curl the webserver to trigger the sync
make sync

CodiMD

You need to put the following block somewhere in you CodiMD file.

:::spoiler git drive sync
- sync-to: path/in/the/drive
:::

Setup

Copy the config.example.toml file to config.toml and complete the missing values.

Install the requirements listed in the requirements.txt.

References