chore(svg): generate light/dark mode DOTs

Signed-off-by: Matej Focko <mfocko@redhat.com>
This commit is contained in:
Matej Focko 2023-02-04 17:54:15 +01:00
parent 701ad8236a
commit 52b3ccdf83
Signed by: mfocko
GPG key ID: 7C47D46246790496
4 changed files with 18 additions and 8 deletions

View file

@ -83,7 +83,7 @@ As we could observe in the example above, `extend` iterates over all of the elem
Consider constructing of this list:
![Rendered construction of the list](/files/ib002/extend/construction.svg)
![Rendered construction of the list](/files/ib002/extend/construction_light.svg#gh-light-mode-only)![Rendered construction of the list](/files/ib002/extend/construction_dark.svg#gh-dark-mode-only)
Let us assume that you extend the result with the list that you get from the recursive call.

View file

@ -18,11 +18,11 @@ As we have talked on the seminar, if we construct from some vertex $u$ BFS tree
Consider the following graph:
![BFS graph](/files/ib002/bfs-tree/bfs_graph.svg)
![BFS graph](/files/ib002/bfs-tree/bfs_graph_light.svg#gh-light-mode-only)![BFS graph](/files/ib002/bfs-tree/bfs_graph_dark.svg#gh-dark-mode-only)
We run BFS from the vertex $a$ and obtain the following BFS tree:
![BFS tree](/files/ib002/bfs-tree/bfs_tree.svg)
![BFS tree](/files/ib002/bfs-tree/bfs_tree_light.svg#gh-light-mode-only)![BFS tree](/files/ib002/bfs-tree/bfs_tree_dark.svg#gh-dark-mode-only)
Let's consider pair of vertices $e$ and $h$. For them we can safely lay, from the BFS tree, following properties:
@ -37,7 +37,7 @@ Let's keep the same graph, but break the lower bound, i.e. I have gotten a lower
Now the more important question, is there a shorter path in that graph? The answer is no, there's no shorter path than the one with length $2$. So what can we do about it? We'll add an edge to have a shorter path. Now we have gotten a lower bound of $2$, which means the only shorter path we can construct has $1$ edge and that is $e, h$ (no intermediary vertices). Let's do this!
![BFS tree](/files/ib002/bfs-tree/bfs_graph_with_additional_edge.svg)
![BFS tree](/files/ib002/bfs-tree/bfs_graph_with_additional_edge_light.svg#gh-light-mode-only)![BFS tree](/files/ib002/bfs-tree/bfs_graph_with_additional_edge_dark.svg#gh-dark-mode-only)
Okay, so we have a graph that breaks the rule we have laid. However, we need to run BFS to obtain the new BFS tree, since we have changed the graph.
@ -49,7 +49,7 @@ Do we need to run BFS after **every** change?
:::
![BFS tree](/files/ib002/bfs-tree/bfs_tree_with_additional_edge.svg)
![BFS tree](/files/ib002/bfs-tree/bfs_tree_with_additional_edge_light.svg#gh-light-mode-only)![BFS tree](/files/ib002/bfs-tree/bfs_tree_with_additional_edge_dark.svg#gh-dark-mode-only)
Oops, we have gotten a new BFS tree, that has a height difference of 1.

View file

@ -3,6 +3,11 @@
FONT="Iosevka,'Iosevka Term','Cascadia Code','JetBrains Mono','Fira Code',monospace"
for pic in $(find ./static/files -name '*.dot' -print); do
SVG_NAME=".$(echo $pic | cut -d'.' -f2).svg"
dot $pic -Tsvg -Gfontname="$FONT" -Nfontname="$FONT" -Efontname="$FONT" > $SVG_NAME
SVG_NAME=".$(echo $pic | cut -d'.' -f2)"
# light mode
dot $pic -Tsvg -Gfontname="$FONT" -Nfontname="$FONT" -Efontname="$FONT" > ${SVG_NAME}_light.svg
# dark mode
dot $pic -Tsvg -Gfontname="$FONT" -Nfontname="$FONT" -Efontname="$FONT" -Gbgcolor="none" -Gcolor="white" -Gfontcolor="white" -Nfillcolor="none" -Ncolor="white" -Nfontcolor="white" -Efillcolor="none" -Ecolor="white" -Efontcolor="white" > ${SVG_NAME}_dark.svg
done;

View file

@ -32,3 +32,8 @@
pre, code, kbd, var, tt {
font-family: Iosevka, 'Iosevka Term', 'Cascadia Code', 'JetBrains Mono', 'Fira Code', monospace;
}
[data-theme='light'] img[src$='#gh-dark-mode-only'],
[data-theme='dark'] img[src$='#gh-light-mode-only'] {
display: none;
}