#dot #graphviz #compile #compile-time #dot-ix #graph #macro

dot_ix_static_check_macros

dot_ix 提供编译时验证宏

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 日

#35 in #graphviz

Download history 4/week @ 2024-04-20 14/week @ 2024-04-27 12/week @ 2024-05-18 31/week @ 2024-05-25 66/week @ 2024-06-01 216/week @ 2024-06-08 12/week @ 2024-06-15 12/week @ 2024-06-22 178/week @ 2024-06-29 52/week @ 2024-07-06 8/week @ 2024-07-13 1/week @ 2024-07-20 71/week @ 2024-07-27 7/week @ 2024-08-03

87 每月下载量
5 个 crate 中使用 (via dot_ix_model)

MIT/Apache

18KB
178

✒️ 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.8.0"

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

# Enables server side dot generation.
# Requires graphviz `dot` to be installed server side.
dot_ix = { version = "0.8.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"
  • 客户端渲染
    • 库功能: ""
    • 二进制功能: ""

待办事项

🦜 随意进行任何这些任务 -- 这个项目不是我的主要焦点,但我应该能够及时审查/合并事项。

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

依赖关系

~255–700KB
~17K SLoC