#diagram #mdbook #proprocessor #kroki

app mdbook-kroki-preprocessor

从文件或mdbook中的代码块渲染kroki图表

4个版本

0.2.0 2023年4月22日
0.1.2 2022年8月29日
0.1.1 2022年6月19日
0.1.0 2022年4月22日

449文本处理 中排名 #449

Download history 51/week @ 2024-03-13 6/week @ 2024-03-20 8/week @ 2024-03-27 13/week @ 2024-04-03 13/week @ 2024-04-24 5/week @ 2024-05-01 1/week @ 2024-05-08 7/week @ 2024-05-15 13/week @ 2024-05-22 9/week @ 2024-05-29 23/week @ 2024-06-05 11/week @ 2024-06-12 151/week @ 2024-06-19 141/week @ 2024-06-26

每月下载 327

自定义许可协议GPL-3.0 许可协议

36KB
155

mdbook-kroki-preprocessor

一个mdbook预处理器,允许您将Kroki的任何图表类型嵌入到您的书中。

设置

首先使用以下命令安装此预处理器:cargo install mdbook-kroki-preprocessor.

然后将其添加到您的 book.toml

[book]
authors = ["You"]
language = "en"
multilingual = false
src = "src"
title = "example"

[preprocessor.kroki-preprocessor]

用法

图表代码可以是内联的Markdown或在外部文件中引用,两种方法都可以使用特殊的 <kroki> 标签或传统的Markdown元素。在大多数情况下,推荐使用 <kroki> 标签以提高可读性。

有关mdbook中示例的详细信息,请参阅 示例目录

<kroki> 标签

您可以在 <kroki> 标签中内联代码,如下所示

<kroki type="erd">
  [Person]
  *name
  height
  weight
  +birth_location_id

  [Location]
  *id
  city
  state
  country

  Person *--1 Location 
</kroki>

type 属性告诉kroki使用哪种渲染器,是必需的。

如果代码太大而无法整齐地内联,则可以像这样引用外部文件

<kroki type="plantuml" root="book" path="/assets/my_diagram.plantuml" />

可能的属性包括

  • type: 图表类型(必需)
  • path: 文件路径(可选)
  • root: 路径扩展的位置(可选)。可能的值
    • "system": 您的系统根。需要 src 是绝对路径。
    • "book": 书的根。(包含 book.toml 的目录)
    • "source":源根目录。(通常是 <书根>/src,但可以在 bool.toml 中配置)
    • "this":当前 markdown 文件。(省略时为默认值)

在引用文件时,建议使用自闭合标签语法 <kroki/>,但也可以根据需要使用 <kroki></kroki>。如果存在 path 属性,则标签之间的任何内容都将被忽略。

代码块

如果您想使用传统的 markdown 元素,可以将图表源内嵌到您的书中,使用代码块。

```kroki-mermaid
graph TD
  A[ Anyone ] -->|Can help | B( Go to github.com/yuzutech/kroki )
  B --> C{ How to contribute? }
  C --> D[ Reporting bugs ]
  C --> E[ Sharing ideas ]
  C --> F[ Advocating ]
```

代码块的语言必须是 kroki-<图表 类型>

![]() 图片标签

或者您可以使用 markdown 图片标签引用外部文件

![Excalidraw example](kroki-excalidraw:example.excalidraw)

标题字段可以是任何内容,但源字段需要以 kroki-<图表 类型>: 开始。支持相对路径和绝对路径。相对路径相对于当前 markdown 源文件,不是 mdbook 的根。绝对路径从系统根开始。为了更好地配置路径,请使用 <kroki/> 标签。

端点配置

如果您想使用 Kroki 的自托管实例,可以配置预处理器使用不同的端点

[preprocessor.kroki-preprocessor]
endpoint = "https://127.0.0.1:8000"

如果需要,预处理器会添加尾部斜杠。默认值是 "https://kroki.io/"。

其他

此预处理器仅支持 HTML 渲染。

依赖项

~18–36MB
~544K SLoC