RepositoryGoNLNetherlands
EM

emicklei/dot

Go package for writing graph descriptions using the Graphviz DOT or Mermaid language

299stars
24forks
0issues
0views

🧩 dot - Package Go nhỏ gọn cho Graphviz DOT và Mermaid

Viết mô tả đồ thị DOT và Mermaid bằng Go, không cần dựng file thủ công.

dot là package Go hỗ trợ tạo mô tả bằng ngôn ngữ DOT của Graphviz và Mermaid. Dùng cho trực quan hoá dependency, workflow, hoặc architecture diagram. Xuất ra chuỗi DOT hoặc Mermaid, rồi dùng công cụ bên ngoài render.

✨ Điểm nổi bật

  • Tạo đồ thị có hướng/không hướng: dot.NewGraph(dot.Directed) hoặc dot.NewGraph(dot.Undirected).
  • Chaining cạnh: g.Node("A").Edge(g.Node("B")).Edge(g.Node("C")) sinh A -> B -> C.
  • Cạnh hai chiều: g.Node("D").BidirectionalEdge(g.Node("E")) sinh D <-> E.
  • Subgraph: g.Subgraph("cluster") tạo nhóm node, hỗ trợ thuộc tính style="filled".
  • Initializer toàn cục: g.NodeInitializer(...) và g.EdgeInitializer(...) thiết lập mặc định cho toàn bộ node/edge.
  • Giá trị HTML/Literal: node.Attr("label", Literal(...)) và graph.Attr("label", HTML(...)).
  • Xuất Mermaid: dot.MermaidGraph(g, dot.MermaidTopToBottom) chuyển đổi DOT sang Mermaid (chỉ Graph và Flowchart).
  • Mở rộng: package dot/dotx hỗ trợ xây dựng đồ thị phức tạp.

💡 Vì sao đáng chú ý

dot không phải công cụ render, mà là builder ngôn ngữ DOT/Mermaid trong Go. Phù hợp tích hợp vào pipeline CI/CD sinh diagram tự động, hoặc tool nội bộ phân tích dependency. Hỗ trợ Mermaid giúp dùng trực tiếp trong Markdown/GitHub. Đơn giản, không phụ thuộc nặng, chỉ cần go run và dùng dot -Tpng hoặc Mermaid renderer.


#Go #Graphviz #Mermaid #OpenSource #TiniX

Similar Projects

Discover other similar projects and AI models.

RepositoryGo
seamia/protodot

transforming your .proto files into .dot files (and .svg, .png if you happen to have graphviz installed)

468
Dec 21, 2023
RepositoryJavaScript
magjac/d3-graphviz

Graphviz DOT rendering and animated transitions using D3

1.8k
Feb 8, 2025
RepositoryTypeScript
hpcc-systems/hpcc-js-wasm

HPCC-Systems Web-Assembly (JavaScript)

392
Oct 21, 2026
RepositoryPython
datnguye/dbterd

Generate the ERD as a code from dbt artifacts

347
Oct 26, 2026
RepositoryPython
tedivm/paracelsus

Visualize SQLAlchemy Databases using Mermaid or Dot Diagrams.

176
Jul 20, 2026
Modelsentence-similarity
sentence-transformers/all-MiniLM-L6-v2

all-MiniLM-L6-v2 This is a sentence-transformers(https://www.SBERT.net) model: It maps sentences & paragraphs to a 384 dimensional dense vector space and can be used for tasks like clustering or semantic search. Usage (Sentence-Transformers) Using t...

♥0
190.1M
Jun 1, 2026
RepositoryGo
ondrajz/go-callvis

Visualize call graph of a Go program using Graphviz

6.5k
Mar 30, 2026
RepositoryGo
folbricht/routedns

DNS stub resolver, proxy and router with support for DoT, DoH, DoQ, and DTLS

633
Oct 23, 2026
RepositoryGo
lucasepe/modgv

Converts 'go mod graph' output into Graphviz's DOT language

489
Feb 23, 2023