Kroki는 Blockdiag (Blockdiag, Seqdiag, ActDiag, Nwdiag, Packetdiag, Rackdiag), BPMN, Bytefield, C4 (plantuml), D2, Diagrams.net (실험적), Ditaa, Erd, Excalidraw, Excalidraw, DBML, DBML, DBML, DBML을 지원하는 통합 API를 제공합니다. GraphViz, Mermaid, Nomnoml, Pikchr, Plantuml, Svgbob, Symplicator, Umlet, Vega, Vega-lite, Wavedrom 및 Wireviz…
이 섹션에서는 크로키 평가를위한 기본 자습서를 제공합니다. 보다 포괄적 인 설치 지침은 Kroki 문서에 있습니다.
Kroki는 간단한 알고리즘 (Deflate + Base64)을 사용하여 URL에서 다이어그램을 인코딩합니다.
GET /plantuml/svg/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000
POST
로 Kroki에게 전화 할 수도 있습니다.
우편 /
{
"diagram_source" : " Bob -> Alice : hello " ,
"diagram_type" : " plantuml " ,
"output_format" : " svg "
}
이 경우 다이어그램을 인코딩 할 필요가 없습니다.
Content-Type
헤더를 사용하여 다이어그램을 일반 텍스트로 보낼 수도 있습니다. 출력 형식은 Accept
헤더를 사용하여 지정되며 다이어그램 소스는 요청 본문으로 전송됩니다.
게시 /plantuml
Accept: image/svg+xml
Content-Type: text/plain
Bob -> Alice : hello
Accept
헤더를 추가하지 않으려면 URL에서 출력 형식을 정의 할 수도 있습니다.
post /plantuml /svg
Content-Type: text/plain
Bob -> Alice : hello
다이어그램을 JSON으로 보낼 때 동일한 개념이 적용됩니다.
post /plantuml /svg
{
"diagram_source" : " Bob -> Alice : hello "
}
Kroki에는 모듈 식 아키텍처가 있습니다.
게이트웨이 역할을하는 Java Web Server ( Vert.x 로 구동). Kroki Server는 Maven을 사용하여 구축되었습니다.
다이어그램을 생성하기 위해 Umlet (미니) 위에 작은 Java API.
NODE.JS CLI Nomnoml 다이어그램 라이브러리 위에 CLI.
Vega 다이어그램 라이브러리 위에 Node.js Cli. 또한 Vega-lite 간결한 문법을 지원합니다.
인어 다이어그램 라이브러리를 제공하는 JavaScript ( Micro 로 구동)로 작성된 동반자 웹 서버.
BPMN-JS 다이어그램 라이브러리를 제공하는 JavaScript ( Micro 로 구동)로 작성된 동반자 웹 서버.
바이트 필드 -SVG 다이어그램 라이브러리 위에 Node.js Cli.
Wavedrom 다이어그램 라이브러리 위에 Node.js Cli.
Excalidraw를 제공하는 JavaScript ( Micro 로 구동)로 작성된 동반자 웹 서버.
javaScript ( 마이크로 로 구동)로 작성된 동반자 웹 서버는 다이어그램을 제공합니다.
첫 번째 단계는 Maven을 사용하여 프로젝트를 구축하는 것입니다.
$ BuildServer를 만듭니다
모든 Docker 이미지를 작성하려면 다음 명령을 사용하십시오.
$ sudo는 builddockerimages를 만듭니다
메모 | 분포 및 docker 구성에 따라 sudo 필요하지 않을 수 있습니다. |
Docker 이미지가 만들어지면 docker
사용하여 Kroki를 실행할 수 있습니다.
$ Docker Run -D -P 8000 : 8000 Yuzutech/Kroki
다음 다이어그램 라이브러리 중 하나를 사용하려면 해당 동반자 컨테이너를 시작해야합니다.
인어
BPMN
excalidraw
diagrams.net
docker-compose
사용하여 여러 컨테이너를 실행할 수 있습니다.
services :
core :
image : yuzutech/kroki
environment :
- KROKI_MERMAID_HOST=mermaid
- KROKI_BPMN_HOST=bpmn
- KROKI_EXCALIDRAW_HOST=excalidraw
ports :
- " 8000:8000 "
mermaid :
image : yuzutech/kroki-mermaid
expose :
- " 8002 "
bpmn :
image : yuzutech/kroki-bpmn
expose :
- " 8003 "
excalidraw :
image : yuzutech/kroki-excalidraw
expose :
- " 8004 "
# experimental!
diagramsnet :
image : yuzutech/kroki-diagramsnet
expose :
- " 8005 "
$ docker -compose up -d