2024-05-11 20:45:40 +02:00
# Documentation Guidelines
Best practices and guidelines for writing code documentation.
2024-05-12 13:34:47 +02:00
## Release Notes
The idea is to get rather automated release notes. To have this as easy as possible, we need:
- key words for the kind of change we applied:
2024-05-13 09:46:03 +02:00
- `new:` - for newly added functionality
- `update:` - for updated functionality
- `fix:` - for fixed functionality
- `delete:` - for removed functionality
- Everything else will be ignored
2024-05-12 13:34:47 +02:00
- tags for each version, we will output only the change log from the last and second last tag
2024-05-12 13:46:11 +02:00
- you can add tags with `git tag -a <tag> -m "<message>"`
2024-05-12 13:34:47 +02:00
[resources/scripts/release-notes.bash ](resources/scripts/release-notes.bash ) is an example bash script to generate the release notes. You can run it with the following command:
```bash
bash resources/scripts/release-notes.bash
```
2024-05-11 20:45:40 +02:00
## PlantUML
Create png images from PlantUML files using the following command:
```bash
plantuml -tpng < file > .puml
```
2024-05-11 23:02:45 +02:00
## Draw.io Diagrams
Ensure to have the draw.io application aliased. This example is for a macOS based system configured with ansible:
```yaml
- name: Add Draw.io alias to .zshrc
lineinfile:
path: "/Users/{{ macos_user }}/.zshrc"
line: "alias drawio='/Applications/draw.io.app/Contents/MacOS/draw.io'"
state: present
```
Create png images from Draw.io diagrams using the following command.
```bash
drawio -x -f png -b 10 -o < output > .png < file > .drawio
```