🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
DemoInstallSign in
Socket

github.com/Vaelatern/mdbook-d2-go

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/Vaelatern/mdbook-d2-go

v0.0.0-20250520043941-654bc0442de3
Source
Go
Version published
Created
Source

mdbook-d2-go

Tiny preprocessor that uses d2 as a library to inline processed SVG in your mdBook documents.

Quickstart

go build

then copy the file to your $PATH so mdBook can find it

Or you can docker build . -t mdbook-d2-go and put a COPY --from=mdbook-d2-go:latest /mdbook-d2-go . in whatever Dockerfile runs the mdBook code.

In your book.toml:

[preprocessor.d2-go]
layout = "elk"
theme_id = 0

Check out the example-with-d2 folder for a working mdbook example.

Keeping SVGs skinny

Your SVGs will be full size when loaded in mdbook by default.

Fortunately, a small mdbook theme fixes it:

$ cat theme/head.hbs
<style type="text/css">
svg {
        width: inherit;
        height: inherit;
}
</style>

Known bugs

  • Currently the SVG generated by d2 claims the element id d2-svg suggesting that two or more of these on the same page may lead to misbehaviours.
  • Width may overflow
  • The layout engine is not configurable despite most of the plumbing being there

License

OpenBSD-style ISC

FAQs

Package last updated on 20 May 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts