diff --git a/docs/Manifest.toml b/docs/Manifest.toml
index e9ee0af..a115927 100644
--- a/docs/Manifest.toml
+++ b/docs/Manifest.toml
@@ -1,6 +1,6 @@
# This file is machine-generated - editing it directly is not advised
-julia_version = "1.11.2"
+julia_version = "1.11.3"
manifest_format = "2.0"
project_hash = "cb24a5a29b1c075c97987b6404068d71eccd074c"
@@ -39,7 +39,7 @@ version = "0.1.9"
[[deps.Bonito]]
deps = ["Base64", "CodecZlib", "Colors", "Dates", "Deno_jll", "HTTP", "Hyperscript", "LinearAlgebra", "Markdown", "MsgPack", "Observables", "RelocatableFolders", "SHA", "Sockets", "Tables", "ThreadPools", "URIs", "UUIDs", "WidgetsBase"]
-git-tree-sha1 = "eea84119ff33576e520d8ae3a2a09a20915948df"
+git-tree-sha1 = "5497c1caaea4eff6b5500c22a7ddf8cfad2ab933"
repo-rev = "sd/static-sites"
repo-url = "https://github.com/SimonDanisch/Bonito.jl.git"
uuid = "824d6782-a2ef-11e9-3a09-e5662e0c26f8"
@@ -47,7 +47,7 @@ version = "4.0.1"
[[deps.BonitoSites]]
deps = ["Bonito", "Dates", "Documenter", "Downloads", "FileIO", "GitHub", "HTTP", "ImageBase", "ImageIO", "JSON3", "Malt", "Markdown", "OpenAI", "XML"]
-git-tree-sha1 = "f9dd7d1b8e263790990c903cf7a4264d616faa91"
+git-tree-sha1 = "164ffaaa9749f87d5402beea2b367816855051fc"
repo-rev = "main"
repo-url = "https://github.com/SimonDanisch/BonitoSites.jl"
uuid = "8b3cd1a5-63d9-421b-9fde-46b64b830918"
diff --git a/src/blogposts/May-2023-News/images/0261a8cf293cbcab13e6cc45cbf50f8dcd50dad4.gif b/src/blogposts/May-2023-News/images/0261a8cf293cbcab13e6cc45cbf50f8dcd50dad4.gif
new file mode 100644
index 0000000..9c62b60
Binary files /dev/null and b/src/blogposts/May-2023-News/images/0261a8cf293cbcab13e6cc45cbf50f8dcd50dad4.gif differ
diff --git a/src/blogposts/May-2023-News/images/286205cf450cf67ed120b1b90e3a2c14d8a00569.gif b/src/blogposts/May-2023-News/images/286205cf450cf67ed120b1b90e3a2c14d8a00569.gif
new file mode 100644
index 0000000..45786e6
Binary files /dev/null and b/src/blogposts/May-2023-News/images/286205cf450cf67ed120b1b90e3a2c14d8a00569.gif differ
diff --git a/src/blogposts/makie-showcases/images/34f5bb47c148278511da5cd06c3c0c66a447232e.png b/src/blogposts/makie-showcases/images/34f5bb47c148278511da5cd06c3c0c66a447232e.png
new file mode 100644
index 0000000..0963055
Binary files /dev/null and b/src/blogposts/makie-showcases/images/34f5bb47c148278511da5cd06c3c0c66a447232e.png differ
diff --git a/src/blogposts/makie-showcases/images/52437c56a45347fe40d214329994c59694f43588.png b/src/blogposts/makie-showcases/images/52437c56a45347fe40d214329994c59694f43588.png
new file mode 100644
index 0000000..aa6e55f
Binary files /dev/null and b/src/blogposts/makie-showcases/images/52437c56a45347fe40d214329994c59694f43588.png differ
diff --git a/src/blogposts/makie-showcases/images/5bdccbc8e66f63861543d6476374b6c67502e468.png b/src/blogposts/makie-showcases/images/5bdccbc8e66f63861543d6476374b6c67502e468.png
new file mode 100644
index 0000000..e151889
Binary files /dev/null and b/src/blogposts/makie-showcases/images/5bdccbc8e66f63861543d6476374b6c67502e468.png differ
diff --git a/src/blogposts/makie-showcases/images/78d409a08b4cd54789f8f47c53324d97ae2136dd.jpeg b/src/blogposts/makie-showcases/images/78d409a08b4cd54789f8f47c53324d97ae2136dd.jpeg
new file mode 100644
index 0000000..fc4f3a6
Binary files /dev/null and b/src/blogposts/makie-showcases/images/78d409a08b4cd54789f8f47c53324d97ae2136dd.jpeg differ
diff --git a/src/blogposts/makie-showcases/images/793cc86bfab4b97612efd2a83ba4d32fdbb1dd29.gif b/src/blogposts/makie-showcases/images/793cc86bfab4b97612efd2a83ba4d32fdbb1dd29.gif
new file mode 100644
index 0000000..4ab84e4
Binary files /dev/null and b/src/blogposts/makie-showcases/images/793cc86bfab4b97612efd2a83ba4d32fdbb1dd29.gif differ
diff --git a/src/blogposts/makie-showcases/images/a08b0ca4f970df50fc95d9b3bc0760d39378c35f.gif b/src/blogposts/makie-showcases/images/a08b0ca4f970df50fc95d9b3bc0760d39378c35f.gif
new file mode 100644
index 0000000..d07bfe1
Binary files /dev/null and b/src/blogposts/makie-showcases/images/a08b0ca4f970df50fc95d9b3bc0760d39378c35f.gif differ
diff --git a/src/blogposts/makie-showcases/images/a8a3434558ca8db25f59d4c6ba5e6d31ed878a01.png b/src/blogposts/makie-showcases/images/a8a3434558ca8db25f59d4c6ba5e6d31ed878a01.png
new file mode 100644
index 0000000..f0aa93a
Binary files /dev/null and b/src/blogposts/makie-showcases/images/a8a3434558ca8db25f59d4c6ba5e6d31ed878a01.png differ
diff --git a/src/blogposts/makie-showcases/images/b4562a284cbd09185c2c6035be887820fae6559b.gif b/src/blogposts/makie-showcases/images/b4562a284cbd09185c2c6035be887820fae6559b.gif
new file mode 100644
index 0000000..2da9085
Binary files /dev/null and b/src/blogposts/makie-showcases/images/b4562a284cbd09185c2c6035be887820fae6559b.gif differ
diff --git a/src/blogposts/makie-showcases/images/b6e2bec78ad5008bee76f5340652882534ea2f8c.gif b/src/blogposts/makie-showcases/images/b6e2bec78ad5008bee76f5340652882534ea2f8c.gif
new file mode 100644
index 0000000..ded04a3
Binary files /dev/null and b/src/blogposts/makie-showcases/images/b6e2bec78ad5008bee76f5340652882534ea2f8c.gif differ
diff --git a/src/blogposts/makie-showcases/images/b822bb974ddf53cf91e4f53e773c14806d0100e6.png b/src/blogposts/makie-showcases/images/b822bb974ddf53cf91e4f53e773c14806d0100e6.png
new file mode 100644
index 0000000..73b23f3
Binary files /dev/null and b/src/blogposts/makie-showcases/images/b822bb974ddf53cf91e4f53e773c14806d0100e6.png differ
diff --git a/src/blogposts/makie-showcases/images/becd209e93466029d6ae4cc5adae05b0d2e5feae.png b/src/blogposts/makie-showcases/images/becd209e93466029d6ae4cc5adae05b0d2e5feae.png
new file mode 100644
index 0000000..0950487
Binary files /dev/null and b/src/blogposts/makie-showcases/images/becd209e93466029d6ae4cc5adae05b0d2e5feae.png differ
diff --git a/src/blogposts/makie-showcases/images/c6d8e5bc37183be27e5a3b87bd2a74a057793dce.gif b/src/blogposts/makie-showcases/images/c6d8e5bc37183be27e5a3b87bd2a74a057793dce.gif
new file mode 100644
index 0000000..ff837e9
Binary files /dev/null and b/src/blogposts/makie-showcases/images/c6d8e5bc37183be27e5a3b87bd2a74a057793dce.gif differ
diff --git a/src/blogposts/makie-showcases/images/franka_impedance_control.mp4 b/src/blogposts/makie-showcases/images/franka_impedance_control.mp4
new file mode 100644
index 0000000..89d231f
Binary files /dev/null and b/src/blogposts/makie-showcases/images/franka_impedance_control.mp4 differ
diff --git a/src/blogposts/makie-showcases/images/robot.png b/src/blogposts/makie-showcases/images/robot.png
new file mode 100644
index 0000000..a50c47d
Binary files /dev/null and b/src/blogposts/makie-showcases/images/robot.png differ
diff --git a/src/blogposts/makie-showcases/post.md b/src/blogposts/makie-showcases/post.md
new file mode 100644
index 0000000..3c5ef74
--- /dev/null
+++ b/src/blogposts/makie-showcases/post.md
@@ -0,0 +1,78 @@
+# Cool Makie Projects
+
+
+## [VMRobotControl.jl](https://cambridge-control-lab.github.io/VMRobotControl.jl/dev/)
+
+VMRobotControl allows you to build dynamic controllers for your robot as intuitive virtual mechanisms. You design your controller by building a virtual mechanism. You connect the virtual mechanism to the robot through compliant elements (like springs and dampers). The control action is automatically translated to the robot actuators (desired joint forces/torques).
+
+This package is designed for building, simulating and controlling robots using passivity-based controllers represented by virtual mechanisms. This is in the tradition of virtual model control and energy shaping/damping injection. For a defined robot geometry, you can select specific coordinates and connect components to shape the robot dynamic properties. properties. This provides a simple way to program complex robot behaviour incrementally, from mechanical primitives.
+
+![](./images/franka_impedance_control.mp4)
+
+
+## [Sunny.jl](https://sunnysuite.github.io/Sunny.jl/stable/)
+
+Sunny is a package for simulating atomic scale magnetism in real materials. It facilitates specification of a broad class of spin models and includes a diverse suite of numerical solvers. These include powerful methods for simulating spin dynamics both in and out of equilibrium. Uniquely, it generalizes the traditional dynamics of spin dipoles to a dynamics of SU(N) coherent states, which better captures local quantum mechanical effects. Sunny also offers a well-developed framework for calculating the dynamical spin structure factor, enabling direct comparison with scattering experiments. Ease of use is a priority, with Makie-powered GUI tools for interactive symmetry analysis and model visualization. [arXiv:2501.13095](https://arxiv.org/abs/2501.13095)
+
+![](https://sunnysuite.github.io/Sunny.jl/stable/examples/01_LSWT_CoRh2O4-61dcd450.png)
+
+## [Multibody.jl](https://help.juliahub.com/multibody/dev/#Multibody)
+
+Multibody.jl is a library of model components for ModelingToolkit, an equation-based modeling language. With Multibody.jl, the user can assemble dynamical models for simulation of mechanical systems, such as robots, cars, drive lines and aircraft, by connecting ready-made components such as rods, boxes, joints and wheels.
+The modeling-language is responsible for deriving the equations of motion of the assembled model, lifting this burden off the shoulders of the modeler. 3D mechanical modeling benefits greatly from being able to visualize the mechanical system, both during the model-building process and while analyzing the result of a simulation. The interactive features of Makie fits this bill perfectly, allowing the user to produce both animations and interactive renders of their model.
+
+![](https://help.juliahub.com/multibody/dev/examples/robot.gif)
+
+## [Jutul.jl](https://github.com/sintefmath/Jutul.jl)
+
+Jutul.jl is a finite-volume modelling framework based on automatic differentiation for coupled, non-linear partial differential equations that powers several different applications that include Makie extensions for visualization. This includes [BattMo.jl](https://github.com/BattMoTeam/BattMo.jl), a package for fast and differentiable battery simulation and [JutulDarcy.jl](https://github.com/sintefmath/JutulDarcy.jl), a high-performance simulator for flow in porous media discretized on unstructured meshes.
+
+![](https://github.com/BattMoTeam/BattMo.jl/raw/main/docs/src/assets/3d_plot.png)
+![](https://sintefmath.github.io/JutulDarcy.jl/dev/assets/mostnty.BTVM5CAw.jpeg)
+
+
+## [EnergyModelsGUI.jl](https://github.com/EnergyModelsX/EnergyModelsGUI.jl)
+
+EnergyModelsGUI is a graphical interface built on top of the [EnergyModelsX](https://github.com/EnergyModelsX/) framework that utilizes Makie for interactive visualizations. It provides clear, intuitive depictions of multi-energy system topologies, input data, and results, making it much easier for users to verify that their system is correctly specified and to understand model outcomes. While it does not allow altering system setups or parameters, it serves as a powerful tool for checking configurations and exploring complex results.
+
+![](https://github.com/EnergyModelsX/EnergyModelsGUI.jl/raw/main/docs/src/figures/EMI_geography_Oslo.png)
+
+
+## [GraphPlayground.jl](https://github.com/dgleich/GraphPlayground.jl)
+
+Sometimes the best way to understand data is to play around with it interactively. There is a lovely package in JavaScript to do this by Mike Bostock called d3. In particular, the d3-force library includes all sorts of fun demos. GraphPlayground.jl includes a port of the d3-force library to Julia to enable an interactive graph exploration tool in Makie (via GraphMakie.jl). It's capable of force calculations (attractions, repulsions, collisions) with tens of thousands of simple objects. I've used it to explore graphs of session conflicts at conferences as well as to generate layouts for small graphs. Given any undirected graph from Graphs.jl, using it is as simple as playground(g) to get an interactive window with labels, the ability to pin nodes, and the ability to export coordinates of the final layout.
+
+![](https://github.com/dgleich/GraphPlayground.jl/raw/main/figures/mesh.gif)
+
+
+## [ProtPlot.jl](https://github.com/MurrellGroup/ProtPlot.jl)
+
+![](https://github.com/MurrellGroup/ProtPlot.jl/raw/main/images/1ASS.png)
+
+
+## [TempestSDR.jl](https://juliatelecom.github.io/TempestSDR.jl/dev/gui/)
+
+This package proposes a Graphical User Interface (GUI) leveraging Makie to perform real time screen eavesdrop. Screen are connected to devices by cables, often HDMI or VGA. This can lead to an unwanted emission of the image signal through electromagnetic wave. A passive listener can retrieve the image signal without be in the same room of the targeted PC!
+
+![](https://juliatelecom.github.io/TempestSDR.jl/dev/img/screen_ok.png)
+
+
+## [GridapMakie.jl](https://github.com/gridap/GridapMakie.jl)
+
+![](https://github.com/gridap/GridapMakie.jl/raw/master/_readme/images/animation.gif)
+
+
+## [ObservableCortex.jl](https://github.com/myersm0/ObservableCortex.jl)
+
+![](https://github.com/myersm0/ObservableCortex.jl/raw/main/examples/demo4.png)
+
+
+## [PDDLViz.jl](https://github.com/JuliaPlanners/PDDLViz.jl)
+
+PDDLViz.jl is a library for visualizing, animating, and interacting with AI planning domains specified in the Planning Domain Definition Language (PDDL).
+PDDLViz.jl is part of the [JuliaPlanners ecosystem](https://github.com/JuliaPlanners), and operates on top of the [PDDL.jl](https://github.com/JuliaPlanners/PDDL.jl) interpreter and compiler for PDDL.
+PDDLViz.jl also supports the animation and rendering of planning algorithms and solutions supported by the [SymbolicPlanners.jl](https://github.com/JuliaPlanners/SymbolicPlanners.jl) library.
+
+![](https://github.com/JuliaPlanners/PDDLViz.jl/raw/main/assets/gridworld.gif)
+
+![](https://github.com/JuliaPlanners/PDDLViz.jl/raw/main/assets/zeno_travel.gif)
diff --git a/src/blogposts/makie-showcases/post.xml b/src/blogposts/makie-showcases/post.xml
new file mode 100644
index 0000000..e00aad7
--- /dev/null
+++ b/src/blogposts/makie-showcases/post.xml
@@ -0,0 +1,10 @@
+
+ Makie Showcases
+ ./blogposts/showcases
+ Showing off some nice projects created with Makie.jl
+ Wed, 22 Jan 2025 15:20:39
+
+
+ ./images/robot.png
+
+
diff --git a/src/blogposts/v0.21/images/7d9a097e66458ead5b115acc9e25721a05b35467.svg b/src/blogposts/v0.21/images/7d9a097e66458ead5b115acc9e25721a05b35467.svg
new file mode 100644
index 0000000..21d37ca
--- /dev/null
+++ b/src/blogposts/v0.21/images/7d9a097e66458ead5b115acc9e25721a05b35467.svg
@@ -0,0 +1,647 @@
+
+