brew/docs/Diagram-Guidelines.md

46 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Diagram Guidelines
## Preferred file format
For complex diagrams, use the `.drawio.svg` format.
Files with the `.drawio.svg` extension are SVG files with embedded [draw.io](https://www.diagrams.net/) source code. Using that format lends itself to a developer-friendly workflow: it is valid SVG, plays well with `git diff` and can be edited in lock-step using various online and offline flavours of draw.io. If you use VS Code, you can use an [extension](https://marketplace.visualstudio.com/items?itemName=hediet.vscode-drawio) for draw.io integration.
Files in the `.drawio.svg` format can be processed offline.
## Embedding a diagram into Markdown
To embed a `.drawio.svg` file into Markdown, use the same syntax as for any image. Example: `![My diagram](my-diagram.drawio.svg)`
Mind that GitHub doesnt allow styling in Markdown documents. Where styling is allowed (e.g. in the exported brew.sh version of the documentation), always set a background colour of `white` for the diagram. Thats the colour draw.io assumes, and keeps the diagram easy to read in dark mode without further customization. You can use the CSS selector `img[src$=".drawio.svg"]` for styling.
## Example
Example for an SVG image embedded into Markdown:
```md
![Example diagram: Managing Pull Requests](assets/img/docs/managing-pull-requests.drawio.svg)
```
Result:
![Example diagram: Managing Pull Requests](assets/img/docs/managing-pull-requests.drawio.svg)
Example for styling (where allowed):
```css
img[src$=".drawio.svg"] {
background-color: white;
margin-bottom: 20px;
padding: 5%;
width: 90%;
}
@media (prefers-color-scheme: dark) {
img[src$=".drawio.svg"] {
filter: invert(85%);
-webkit-filter: invert(85%);
}
}
```