mdbook-d2-go

command module
v0.0.0-...-d2eaa46 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 10, 2024 License: ISC Imports: 19 Imported by: 0

README

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

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL