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. ```markdown :::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 - [CodiMD source code](https://github.com/hackmdio/codimd/tree/develop/lib). Usefull to find the api endpoints.