#mdbook #svg #markdown #svgbob

bin+lib mdbook-svgbob2

mdbook 的 svgbob 预处理器替代品

8 个版本

0.3.0 2022年10月3日
0.2.4 2022年3月5日
0.2.3 2021年12月11日
0.2.2 2021年9月28日
0.1.1 2021年9月28日

#668 in 文本处理


用于 3 crates

MIT 许可证

25KB
167 代码行

mdbook 的 svgbob 预处理器

Crates.io GitHub last commit License

一个为 mdbook 编写的预处理器,用于将 svgbob 代码块转换为使用 svgbob 生成的漂亮的 SVG 图像。

这个 crate 作为 mdbook-svgbob 的替代品,后者在编写此 crate 的代码时提供了很大的灵感。

我创建这个的原因是原始版本使用过时的依赖项,并且似乎在某些原因下会破坏表格,并且它要求源代码具有 Unix 行结束符,因为 Windows 行结束符会破坏它。我还想学习如何编写 mdbook 预处理器,并且有一个更新 svgbob 集成的用例。

安装

使用 cargo 安装

cargo install mdbook-svgbob2

或者从 git 镜像安装

cargo install --git https://github.com/matthiasbeyer/mdbook-svgbob2.git

用法

将此添加到您的 cargo.toml 中

[preprocessor.svgbob2]

可选地添加任何针对 svgbob 设置 的参数

[preprocessor.svgbob2]
font_size = "14"
font_family = "monospace"
fill_color = "black"
background = "transparent"
stroke_color = "var(--fg)" # variable from the mdbook css files
stroke_width = "2.0"
scale = "8.0"
enhance_circuitries = "true"
include_backdrop = "true"
include_styles = "true"
include_defs = "true"
merge_line_with_shapes = "false"

# this is a non-svgbob custom setting
font_color = "var(--fg)"

上述为默认设置。其中大部分是 svgbob 的默认设置,除了 backgroundstroke_color,它们已被更改为更好地适应 mdbook。

svgbob 目前不支持更改字体颜色(尽管有 添加此功能的特性请求),并且由于纯黑色字体颜色与不同的 mdbook 主题配合不佳,因此添加了更改字体颜色的功能。

只需在某个章节中包含 svgbob 代码块

```svgbob
       .---.
      /-o-/--
   .-/ / /->
  ( *  \/
   '-.  \
      \ /
       '
```

并且当使用 mdbook 渲染时,它应显示为漂亮的 SVG 图像。

依赖项

~20–35MB
~517K SLoC