Crates.io | dot_ix_rt |
lib.rs | dot_ix_rt |
version | 0.7.0 |
source | src |
created_at | 2024-02-04 04:00:37.292618 |
updated_at | 2024-06-30 09:43:57.280372 |
description | Runtime logic for the `dot_ix` diagramming application. |
homepage | https://github.com/azriel91/dot_ix |
repository | https://github.com/azriel91/dot_ix |
max_upload_size | |
id | 1126077 |
size | 40,976 |
🚧 This is very much a work in progress
Try it yourself: (demo_1, demo_2)
Original concept:
https://user-images.githubusercontent.com/2993230/253878816-0729970f-651f-45ef-a986-470f383b8018.mp4
Add the following to 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
For server side rendering, the "server_side_graphviz"
feature needs to be passed in separately because that feature still needs to be enabled for the lib compilation, i.e.
"server_side_graphviz"
"ssr,server_side_graphviz"
lib features: ""
bin features: ""
🦜 Feel free to do any of these -- this project isn't my main focus, but I should be responsive in reviewing / merging things.
app::info_graph::InfoGraph
into smaller components.main.scss
and replace with tailwind classes.rt/into_graphviz_dot_src/info_graph.rs
to write to a buffer, instead of individual strings.dot_ix
library from the web app, so it can be embedded in other apps.