9 个版本 (重大变更)

新版本 0.8.0 2024年8月10日
0.7.0 2024年6月30日
0.6.0 2024年6月9日
0.5.0 2024年3月30日
0.1.0 2024年2月4日

#489可视化

Download history 16/week @ 2024-04-22 23/week @ 2024-05-20 33/week @ 2024-05-27 199/week @ 2024-06-03 37/week @ 2024-06-10 1/week @ 2024-06-17 130/week @ 2024-06-24 60/week @ 2024-07-01 78/week @ 2024-07-29

每月79 次下载
用于 3 个crate (2 个直接使用)

MIT/Apache

165KB
3K SLoC

✒️ dot_ix

Crates.io docs.rs CI Coverage Status

🚧 这是一个正在开发中的项目

自己试试:(demo_1, demo_2)

原始概念

https://user-images.githubusercontent.com/2993230/253878816-0729970f-651f-45ef-a986-470f383b8018.mp4

用法

将以下内容添加到 Cargo.toml

dot_ix = "0.7.0"

# Enables the `FlexDiag` web component.
dot_ix = { version = "0.7.0", features = ["flex_diag"] }

# Enables server side dot generation.
# Requires graphviz `dot` to be installed server side.
dot_ix = { version = "0.7.0", features = ["server_side_graphviz"] }

开发

cargo install cargo-leptos

# Then, one of:
# * client side rendering -- uses WASM compiled graphviz to generate the graph.
cargo leptos watch
# * server side rendering -- runs `dot` on the server to generate the graph.
#   Requires `graphviz` to be installed.
cargo leptos watch --features "server_side_graphviz" -v

对于服务器端渲染,需要单独传递 "server_side_graphviz" 功能,因为该功能还需要为库编译启用,即。

  • 服务器端渲染
    • 库功能:"server_side_graphviz"
    • 二进制功能:"ssr,server_side_graphviz"
  • 客户端渲染
    • 库功能:""
    • 二进制功能:""

待办事项

🦜 随意做这些事情 —— 这个项目不是我的主要关注点,但我应该会积极审查/合并事务。

  • 将crate拆分为多个子crate。
  • app::info_graph::InfoGraph 拆分成更小的组件。
  • 可能删除 main.scss 并替换为 Tailwind CSS 类。
  • 在 SVG 中使用内联样式。
  • 在 SVG 样式中使用内联字体。
  • rt/into_graphviz_dot_src/info_graph.rs 修改为写入缓冲区,而不是单个字符串。
  • 获取带有 "type" 的每个节点。
  • 接收 Tailwind CSS 类以附加到节点类型。
  • 接收主题或与默认主题合并。
  • dot_ix 库从 Web 应用程序中分离出来,以便可以嵌入到其他应用程序中。
  • GitHub Actions / 自动测试 / 发布 / 发布。
  • 游乐场:渲染预写的图形
    • URL 中的图形
    • 链接到 gist

依赖项

~1–1.9MB
~36K SLoC