47 lines
1.5 KiB
Markdown
47 lines
1.5 KiB
Markdown
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.
|