#mdbook #markdown #d2 #common-mark #code-block

bin+lib mdbook-d2

MdBook 的 D2 图表生成插件

6 个版本

新版本 0.3.1 2024 年 8 月 20 日
0.3.0 2024 年 8 月 7 日
0.2.2 2023 年 3 月 30 日
0.2.1 2023 年 2 月 9 日
0.1.0 2022 年 12 月 26 日

#265文本处理

Download history 48/week @ 2024-05-04 12/week @ 2024-05-11 18/week @ 2024-05-18 7/week @ 2024-05-25 14/week @ 2024-06-01 91/week @ 2024-06-08 39/week @ 2024-06-15 5/week @ 2024-06-22 26/week @ 2024-06-29 9/week @ 2024-07-06 21/week @ 2024-07-13 18/week @ 2024-07-20 40/week @ 2024-07-27 147/week @ 2024-08-03 49/week @ 2024-08-10 161/week @ 2024-08-17

每月 399 次下载

MIT 许可证

28KB
398 代码行

mdbook 的 D2 预处理器

codecov Continuous integration

mdbook 的预处理器,将 d2 代码块转换为 SVG 图像,使用 D2

安装

使用 cargo 安装

cargo install mdbook-d2 --locked

或者从 git 安装

cargo install --git https://github.com/danieleades/mdbook-d2 --locked

要求

此预处理器假定 D2 已在本地上安装并在路径中。D2 安装说明可以在 此处 找到。

使用以下方法检查本地安装是否正确

d2 --version

用法

配置

将此添加到您的 book.toml

[preprocessor.d2]

# path to d2 binary.
# optional. default is "d2" (ie. on the path).
path = "d2"

# layout engine for diagrams. See https://github.com/terrastruct/d2#plugins.
# optional. default is "dagre".
layout = "dagre"

# whether to use inline svg when rendering.
# if 'false', separate files will be generated in src/<output-dir> and referenced.
# optional. default is 'true'
inline = true

# output directory relative to `src/` for generated diagrams.
# This is ignored if 'inline' is 'true'.
# optional. default is "d2".
output-dir = "d2"

代码块

在 'book' 中使用通过注释 D2 代码块-


## My Diagram

```d2
# Actors
hans: Hans Niemann

defendants: {
  mc: Magnus Carlsen
  playmagnus: Play Magnus Group
  chesscom: Chess.com
  naka: Hikaru Nakamura

  mc -> playmagnus: Owns majority
  playmagnus <-> chesscom: Merger talks
  chesscom -> naka: Sponsoring
}

# Accusations
hans -> defendants: 'sueing for $100M'

# Offense
defendants.naka -> hans: Accused of cheating on his stream
defendants.mc -> hans: Lost then withdrew with accusations
defendants.chesscom -> hans: 72 page report of cheating
```

代码块将被渲染文档中的 D2 图表所替代。

感谢

此预处理器中的代码基于 https://github.com/matthiasbeyer/mdbook-svgbob2 的代码

依赖项

~12–24MB
~330K SLoC