59 lines
1.5 KiB
Markdown
59 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
|
|
- Change gitlab integration to gitea
|
|
|
|
**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 gitlab 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.
|
|
|
|
## 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 Gitlab sync
|
|
- sync-to: path/in/the/drive
|
|
:::
|
|
```
|
|
|
|
|
|
## Setup
|
|
|
|
Install the glab tool using a package manager of your choice.
|
|
|
|
Set environment variable in your shell profile:
|
|
|
|
```bash
|
|
export GITLAB_HOST=https://git.zeus.gent
|
|
export GITLAB_TOKEN_NAME=the-token-name-in-gitlab
|
|
export GITLAB_TOKEN=********
|
|
|
|
export CMD_SERVER_URL=https://codimd.zeus.gent
|
|
export CMD_EMAIL=codimd.zeus.gent@mcbloch.dev
|
|
export CMD_PASSWORD=*******
|
|
```
|
|
|
|
## Used tech
|
|
|
|
- [GitLab CLI Tool](https://glab.readthedocs.io/en/latest/index.html)
|
|
- bash
|
|
- git
|
|
- curl
|
|
- python
|
|
|
|
### References
|
|
|
|
- [CodiMD source code](https://github.com/hackmdio/codimd/tree/develop/lib). Usefull to find the api endpoints.
|