I'm using Metalsmith to generate this site and, while I generally like it, it's not perfect. Here are some of Metalsmith's downsides.
Metalsmith is used to build this static site. Here's how Graphviz was integrated to automatically generate diagrams.
In order to automatically generate diagrams for my site that's built with Node, I compiled Graphviz to WebAssembly. Here's my experience.
In order to reuse C libraries in WebAssembly, here is how object files, libraries, and linking work with Clang and LLVM.
Here's an example of passing strings to and from a WebAssembly module that is written in C and compiled with Clang and LLVM.