mirror of
https://github.com/mfocko/blog.git
synced 2024-11-10 00:09:07 +01:00
chore(svg): generate light/dark mode DOTs
Signed-off-by: Matej Focko <mfocko@redhat.com>
This commit is contained in:
parent
701ad8236a
commit
52b3ccdf83
4 changed files with 18 additions and 8 deletions
|
@ -83,7 +83,7 @@ As we could observe in the example above, `extend` iterates over all of the elem
|
||||||
|
|
||||||
Consider constructing of this list:
|
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.
|
Let us assume that you extend the result with the list that you get from the recursive call.
|
||||||
|
|
||||||
|
|
|
@ -18,11 +18,11 @@ As we have talked on the seminar, if we construct from some vertex $u$ BFS tree
|
||||||
|
|
||||||
Consider the following graph:
|
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:
|
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:
|
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!
|
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.
|
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.
|
Oops, we have gotten a new BFS tree, that has a height difference of 1.
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,11 @@
|
||||||
FONT="Iosevka,'Iosevka Term','Cascadia Code','JetBrains Mono','Fira Code',monospace"
|
FONT="Iosevka,'Iosevka Term','Cascadia Code','JetBrains Mono','Fira Code',monospace"
|
||||||
|
|
||||||
for pic in $(find ./static/files -name '*.dot' -print); do
|
for pic in $(find ./static/files -name '*.dot' -print); do
|
||||||
SVG_NAME=".$(echo $pic | cut -d'.' -f2).svg"
|
SVG_NAME=".$(echo $pic | cut -d'.' -f2)"
|
||||||
dot $pic -Tsvg -Gfontname="$FONT" -Nfontname="$FONT" -Efontname="$FONT" > $SVG_NAME
|
|
||||||
|
# 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;
|
done;
|
|
@ -32,3 +32,8 @@
|
||||||
pre, code, kbd, var, tt {
|
pre, code, kbd, var, tt {
|
||||||
font-family: Iosevka, 'Iosevka Term', 'Cascadia Code', 'JetBrains Mono', 'Fira Code', monospace;
|
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;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue