Kroki-使用代码生成图表-API

Kroki 是一个开源工具,它提供了一个统一的 API,允许用户从简单的文本描述中生成各种图表、图形和流程图。Kroki 支持多种流行的图表绘制工具和语言。

Kroki 的主要特点:

  1. 多种图表支持: Kroki 不仅仅支持一种图表绘制工具或语言,它集成了多种工具,使得用户可以选择最适合他们需求的工具。

  2. 简单的 API: 通过一个统一的 API,用户只需发送简单的文本描述,Kroki 就可以返回相应的图表或图形。

  3. 易于集成: 由于 Kroki 提供了 RESTful API,因此它可以轻松地与其他应用程序或工具集成,无论是在线的还是本地的。

  4. 开源: Kroki 是完全开源的,这意味着任何人都可以查看其源代码,为其做出贡献或自行部署。

  5. 灵活性: 除了在线服务外,Kroki 还提供了 Docker 镜像,允许用户在本地或私有服务器上部署和运行。

Kroki 是一个强大而灵活的工具,允许用户从简单的文本描述中快速生成图表和图形。

Kroki 提供了一个统一的 API,支持多种图表类型,如 BlockDiag、BPMN、Bytefield、C4 (PlantUML)、D2、DBML、Diagrams.net、Ditaa、Erd、Excalidraw、GraphViz、Mermaid、Nomnoml、Pikchr、PlantUML、SvgBob、Symbolator、UMLet、Vega、Vega-Lite、WaveDrom、WireViz 等。

Kroki 支持的各种图表工具:

  1. BlockDiag

    • 特点:用于绘制块图、序列图、活动图等。
    • 擅长:网络、系统架构和流程图。
    • 示例:表示网络设备和连接的块图。
  2. BPMN

    • 特点:业务流程模型和符号。
    • 擅长:业务流程和工作流程图。
    • 示例:表示订单处理的工作流程。
  3. Bytefield

    • 特点:可视化数据结构。
    • 擅长:显示数据包、帧和其他数据结构的布局。
    • 示例:网络数据包的结构表示。
  4. C4 (with PlantUML)

    • 特点:软件架构图。
    • 擅长:表示系统的高级到低级的视图。
    • 示例:云基础设施的架构图。
  5. D2

    • 特点:简单的图表工具。
    • 擅长:基本的图形表示。
    • 示例:简单的组织结构图。
  6. DBML

    • 特点:数据库标记语言。
    • 擅长:数据库模式图。
    • 示例:表示数据库中的表和关系。
  7. Diagrams.net (experimental)

    • 特点:在线图表工具。
    • 擅长:多种图表类型,如流程图、网络图等。
    • 示例:IT 网络的拓扑图。
  8. Ditaa

    • 特点:将 ASCII 图转换为图形。
    • 擅长:简单的图形表示。
    • 示例:绘制系统组件的 ASCII 图。
  9. Erd

    • 特点:实体关系图。
    • 擅长:表示数据库实体及其关系。
    • 示例:表示客户和订单之间的关系。
  10. Excalidraw

  • 特点:手绘风格的图表。
  • 擅长:草图和概念图。
  • 示例:手绘的 UI 设计草图。
  1. GraphViz
  • 特点:图形和网络图。
  • 擅长:复杂的图形结构和关系。
  • 示例:软件依赖关系图。
  1. Mermaid
  • 特点:流程图、序列图、甘特图等。
  • 擅长:表示流程和时间线。
  • 示例:项目的甘特图。
  1. Nomnoml
  • 特点:UML 图。
  • 擅长:表示系统的对象和关系。
  • 示例:类的 UML 表示。
  1. Pikchr
  • 特点:图形表示。
  • 擅长:简单的图形和图表。
  • 示例:基本的流程图。
  1. PlantUML
  • 特点:UML 图和其他图表。
  • 擅长:表示系统的各种 UML 视图。
  • 示例:系统的序列图。
  1. Structurizr
  • 特点:软件架构图。
  • 擅长:表示软件系统的结构。
  • 示例:微服务架构图。
  1. SvgBob
  • 特点:将 ASCII 图转换为 SVG。
  • 擅长:简单的图形表示。
  • 示例:绘制 ASCII 艺术的图形表示。
  1. Symbolator
  • 特点:电子符号。
  • 擅长:表示电子和电路符号。
  • 示例:电子电路的符号表示。
  1. UMLet
  • 特点:UML 图。
  • 擅长:表示系统的 UML 视图。
  • 示例:系统的活动图。
  1. Vega & Vega-Lite
  • 特点:数据可视化。
  • 擅长:复杂的数据图表和可视化。
  • 示例:数据集的条形图。
  1. WaveDrom
  • 特点:数字时间波形图。
  • 擅长:表示数字信号和时间序列。
  • 示例:数字电路的时序图。
  1. WireViz
  • 特点:线缆和连接器图。
  • 擅长:表示电线和连接器的物理布局。
  • 示例:电线束的物理布局图。

我们通过两种方式来看一下如何使用Kroki图表绘制工具:

  • RESTful API
  • 本地部署

1.通过RESTful API的形式生成图表:

访问kroki官网

效果

url 复制代码
https://kroki.io/plantuml/svg/eNpljzEPgjAQhff-iguTDFQlcYMmuru5mwNO0tCWhjY6GP-7LRJTdHvv7r67d26QxuKEGiY0gyML5Y65b7GzEvblIalYbAfs6SK9oqOSvdFkPCi6ecYmaj2aXhFkZ5QmgycD2Ogg-V3SI4_OyTjgR5OzVwqc0NECNEHydtR2NGH3TK2dHjtSP3zViPmQd9W2ERmgg-iv3jGW4MC5-L-wTEJdi1XeRENRiFWOtMfnrclriQ5gJD-Z3x9beAM=

在左则编辑区域是可以在线编辑想要生成的图表结构的,选择每种绘图工具,会同步带出示例:

也可以访问示例

每种绘图工具使用的标签与格式都不一样,所以可以通过这个示例页面,选择自己要绘制的图表工具,使用其提供的示例在前面的编辑窗口编辑即可,也可以在VSCode上编辑好了,复制过来生成Get请求链接然后下载图片。

Structurizr为例:

效果图:

url 复制代码
https://kroki.io/structurizr/svg/eNrFWm1v2zgS_u5fQagf7i5wmpdNe7kF9g5O0t51kWyCKm33Ky3RNhFJ1Im0nWyR_34zJPVCSbTlONszghiWyHl5ZjgzHPLoYEQOyP2CSwJ_lEQinfKMxWTFCslFRsSMqAUjM5EkYs2zOVmL4kHmNGLyZ5iKsw9JcMHn5IJmDyRPIvgdPknFUnJNs1hGNGcB-etCqVz-fHQkVbGM1LLgfxRvgdmRXNCCHZ2enx6fHP2tn9qnTLEiY0o_QxEM-a1Ef3p_coZED45GldAu8YAEleoZYY80zRNWa0iUIDxJlkCeKqZxeGBPZMYo8GISsQlrzmOy4lQPugqvx2RKJcBIC7HM4IvMeKQAT5oQkSWAMLw3ykitzNuAfB-NCHxSEbMEfhD7iYC9SFlBfiE52ARMEtzpbyBVAnJpx4A-k3qCNR0yGpM1VwtLACbiM0KjCIRTEngHFYVRxZgh7HnBZQe0Wjj8yGWei0KFis5mDSFLiiRkxYoDmHpAgxWR9oXUM1FAnlUSo1Cao5nmcJzS6EHMZji35ncBD8mteVqymsQpz7g2H_oyuGMp7TCmDteU8mxW0BSZSjFTa_AxYzwS3FTv2j4ahEqgr9AkKQ0SwYPK_DBPFKmVbyqWqrKfHFcWGhNQIZNUuxD8YipCUT88gm4NZo64DORNekT9cKhfVPLdg0RcrzDwixseFQJnkA-P0YJmc0aYGV-56WauVKU9PCf3N2gNDCGy1g-XFxogLuiaRFQueqk75LkNBRZlG2e6DL0ho1eIFWfrHkOArXjhLpWx9qGUPjCS06eUmdXjrge9JoBnwu7onE3yPOGRIfsLmD5T4Crg_EGohxziGNIYBCLeFWLFY9dnKoVKv5ktMxtQuHpCJWqNbBgC2ddsSqYF6MsKxPZXuqJhVPBcaTUm2XyZUAwa32DchRkXdHRJxZQnqIcr_41-jKI7IpOEp1wxXGhTCfLuJb9hTWKGcQI1-J2mtOAIUoN9R2JQ2ws7qurCfcUSvtKesNCxSPFITwDjaph6xTcGBicA69GaXImynhhC8IShN18vuyLSnHtFnNx98nnEFhgROUp-DW9_O_rP_f1dSICUT6QerzWeO894dgnSFJDyddqBjJqLDOEAp51nIASp39dLaintckISBKOqcLFz1yLKVYtDPjOpmmR7hSuXYbhMwQ-efFJO7DBix7niVmDWHqeTIwWXNcONz7bX_ksEhojE1B2VEmqK2CfuZxxEylGbsdUErXS5nVHLb5wSBpMvn69fIq9kEdQyCpAtpXPNb1-T6n0TT9cXC5ZQjAPWIUyuGxOdVfBHJX2VzqywF4xm_dJVGdgJ_x9pRGPmCurLx8QM1nXSzMwDRIyf1vm9U5ptF01nWw9qNuM2MQsZVMY2tWq7agNv5fTceRJTRbHSdCPIlX1alx9IH0wyr4uhRr4bkwVkX6xWlwBEpsqoFBUsxp80MbUIk5IkYl5b7LagEThcyY6E0QKACBoCjPrFf67T-hvjKVjYLHguyZSpNWMZ1HUCi3Fds9nsbg0iu7Xx4T89pUHwFXK7LNcwWDahGehR53FZJXLACObVEvcTBE61owT_Zqom3qwgZoVI92JiyjfHUdpzzRAYW8HQ8augFyqnYg8m8kGS_y4hPKANcBIUhSxh-QK8tSbgTHJR-CKZ7OeE5WDwzdZ4Uhd5bS1wyCZyjWK_b5jXj5Q4QiPUy6LfbVq1AviL5GCmKZ_rDQHuJvnUykwCnVU9oPaWfHv4X5N4XYPtQbClql_muiIykbGU5C-yWVEOwt6GvBr7fpZallbhAUEctcFqKIJK2HpmXdwE22n664VXIO7L7cNJ11bdT3-Hzmvo7BDcX8-Oaqhup9JorXu_Hs0w0FcJtAj55B8ixIa5rYzfmtilDFOqZA0lH4U4rdcIrts1DGUlgFcXjf3CRkXdeNhrjt9vrtvWaAm-OddUs2KWJ0LHlQ_ZihciS7XWV2zFEpGnuqxxdxT1jN8EWsUOBfSuaa4EbhtxH1d1HL7xLMZa9-SYiEJvgLAmi27Dvq1Km3hzB6vpXi4AXDYmH3nBZuJxTEI6g63jGGl_iOfMt_-JSynDvnX_KYMNYhY55Vb1rDdSDKnh2kCJ6AFQuqzquUOC6mEfrdTODPHr4BKc5BQKM3IvUpDJEHAekfO3jz5aDibfnAyyEQw32WwnPXE2xBtJu3vnXtLPrwN7Xdi-GPteErZuPjmNBsFe0tiIShlcXoTH88aV22qZB60OPXImkW4X67fbV6utrg5Bw-PjE0PSM1UHU1v_m-BXaVzFvq3K9e07PAHtGiqfbZHssq6HnA5VubQwcvHbUIexLC4Ej_s0wxrrpky0G01bpeMdbNaQEauwZWmcnoD7f4y2iMGPCbTPo1dz8eH-DUHw4ODA0PsyhWpmSU7evz0-I9f3oX569oMiOOL8usH7JRG2hAUC-GZYzn8gLH9-4hkeDqdlMOyi0q9EXnAsjssEYXIMyN7mYBPOIbkzE3ZJQwjSncvnz0tEW-A59TrNRyhaxcqfl6EgF1m8E1ZhOaWL1lZ2VXBrsx0EXYP-q6OYFyL-sUnX76hmC9ZrF9gimZUGexodfZvNLMPKsljphkithGkSJuXdA9jX6AeNywjfW2eKUbIEhA7cg8ylEtf0SSxVX_FgeOhTokflaz2a70szaCDXjNsGYtcovVw6o8pezcjbPB_19q43lBaboajbzh4YqoJa7o9B1ROr971d6bu9rmHns_6Tzy3Hd96u_B6gltvz1kFhUG3cXwHN_tZW3fypwpFpEPg9qNPg6bQ_RsOP8ja1PEZDD9jcJseL7RA_ZTTlUccKeA76CU9mjfhcQpRaiLU5QrbHn_aakLlOROwtEwP5Yc-5cetSzfA2abicptiybpzWOMFyhw7cV5rwWIfcJrFWG3lAe0uyhEWKHJgOlzm8XC9Yoc8mi8zcofmXS7Ka3S_aZwZgZvYgq5MQvDJ14SoJqWIJuzRzO8Eef5VHkuCCCopIOQDD_ga66aThyQXeK2udqinxwLKO9Fv8sErmvijrNOKav66qqfsHjGHNsdGu_aMtTaDR4MbIy9f5VnxNX0B_vSaiWzfAw9oGox02fP5Nz2iH0n-0U7X7YsNI9ZQw2QIOootp1piLkH0VbCQSUZA3M_3pvJ3BIg75H4ycnnZz2QKLRkN5g9iVDPXdy64UGAHm5gbom-Pzs9O_T4dQbNxA3ELzH_ozhGZYHqGXF-E2Ez45eX8-jXdA1cO2fZtvd31exLYqObcxPPvpPI7f7c_QaYh99_gUDLJjhpBs3q_zUTRjrnTzsdrfDCFeXxDxkb58SngWDxO1cbNlM9zn76bT2bEP7mP9GcJw0-5b5DTC-0en77x3T8z_5_8B4cj34g==?view-key=Containers

总结

Kroki 是一个开源的图表生成工具,通过提供统一的 API,使用户能够从文本描述中轻松创建各种图表和图形。它支持多种流行的绘图工具和语言,如 PlantUML、GraphViz 和 Mermaid 等。

Kroki 的 API 设计简洁,易于集成,使其可以轻松地与其他应用或工具配合使用

Kroki 还提供了 Docker 镜像,为用户提供了在本地或私有服务器上部署的灵活性。总的来说,Kroki 是一个功能强大、使用简单且高度可定制的图表生成解决方案。今天由于篇幅原因只介绍了通过统一的API生成图片的方式,明天我将介绍如何在本地部署Kroki生成图表。

希望对您有所帮助谢谢!!!

相关推荐
weixin_478689761 小时前
【121. 买卖股票的最佳时机】——贪心算法/动态规划
算法·贪心算法·动态规划
武昌库里写JAVA1 小时前
mysql 几种启动和关闭mysql方法介绍
java·开发语言·算法·spring·log4j
我是聪明的懒大王懒洋洋1 小时前
力扣力扣力:53.最大子数组和
算法·leetcode·职场和发展
九圣残炎2 小时前
【从零开始的LeetCode-算法】3345. 最小可整除数位乘积 I
java·算法·leetcode
随遇而安622&5082 小时前
分布式微服务项目,同一个controller方法间的转发导致cookie丢失,报错null pointer异常
分布式·微服务·架构·bug
shinelord明2 小时前
【再谈设计模式】抽象工厂模式~对象创建的统筹者
数据结构·算法·设计模式·软件工程·抽象工厂模式
未命名冀2 小时前
微服务day07
微服务·架构·jenkins
车载诊断技术3 小时前
电子电气架构--- 实施基于以太网的安全车载网络
网络·人工智能·安全·架构·汽车·电子电器架构
向上的车轮3 小时前
ODOO学习笔记(8):模块化架构的优势
笔记·python·学习·架构
言之。3 小时前
【K-Means】
算法·机器学习·kmeans