asciidoctor / asciidoctor-kroki

Asciidoctor.js extension to convert diagrams to images using Kroki!
https://kroki.io/
MIT License
147 stars 50 forks source link

latest version of C4-PlantUML is not working with local C4 puml files #230

Closed cgoguyer closed 3 years ago

cgoguyer commented 3 years ago

New version of C4-PlantUML (plantuml-stdlib /C4-PlantUML ) is not working anymore within asciidoctor-kroki with local C4 puml files. It was working fine with the previous version (https://github.com/RicardoNiepel/C4-PlantUML).

Does not work (plantuml-stdlib = path to to latest C4 puml)

@startuml C4_Elements
!include puml/plantuml-stdlib/C4.puml
!include puml/plantuml-stdlib/C4_Context.puml
!include puml/plantuml-stdlib/C4_Container.puml

Person(admin, "Administrator")
System_Boundary(c1, "Sample System") {
    Container(web_app, "Web Application", "C#, ASP.NET Core 2.1 MVC", "Allows users to compare multiple Twitter timelines")
}
System(twitter, "Twitter")

Rel(admin, web_app, "Uses", "HTTPS")
Rel(web_app, twitter, "Gets tweets from", "HTTPS")
@enduml

Works (RicardoNiepel = old version of C4 puml)

@startuml C4_Elements
!include puml/RicardoNiepel/C4.puml
!include puml/RicardoNiepel/C4_Context.puml
!include puml/RicardoNiepel/C4_Container.puml

Person(admin, "Administrator")
System_Boundary(c1, "Sample System") {
    Container(web_app, "Web Application", "C#, ASP.NET Core 2.1 MVC", "Allows users to compare multiple Twitter timelines")
}
System(twitter, "Twitter")

Rel(admin, web_app, "Uses", "HTTPS")
Rel(web_app, twitter, "Gets tweets from", "HTTPS")
@enduml
ggrossetie commented 3 years ago

Hey @cgoguyer

Could you please describe your environment? which version are you using? are you using https://kroki.io or a self-hosted version? in this case, which version of Kroki are you running? Are you using the Asciidoctor Kroki extension from Node? from the browser?

Also could you please describe what exactly does not work? Do you have any error? Is something missing from the diagram?

Here's what I get using the following definition on https://kroki.io

@startuml C4_Elements
!include puml/plantuml-stdlib/C4.puml
!include puml/plantuml-stdlib/C4_Context.puml
!include puml/plantuml-stdlib/C4_Container.puml

Person(admin, "Administrator")
System_Boundary(c1, "Sample System") {
    Container(web_app, "Web Application", "C#, ASP.NET Core 2.1 MVC", "Allows users to compare multiple Twitter timelines")
}
System(twitter, "Twitter")

Rel(admin, web_app, "Uses", "HTTPS")
Rel(web_app, twitter, "Gets tweets from", "HTTPS")
@enduml

good

https://kroki.io/c4plantuml/svg/eNqVkM9Kw0AQxu95ijFeUqgplT5AYyh6UYKJegzbZISF2T_sTohFfHdnaW29iXv5YL7fzHyz28gq8GQI6k2_IzRoOWZX2g40jQhenJUnZRNyE3kkvV_VmzLV_6T62lnGD_4HrbTFcOSzBkN0tlCj0XYJeZVURw6KXcgXWXuIjKa_c5MdVTgUw1qgVhlPCEcvX8BnBvLOk4sZ973yXsg33EPlPelBsXY2l1J9vYSqbcqnXSctAeG2XMPja528isjNEaYooYAdDM54JYiZiHVa2c2aGQOwNkiyK0rEr1PIgo-mzDlhYmbPSD_HXWK9ROkUfei6phUqQWf3MuYeWWLMmOQ9OPO7ZYt2lA_8BvsToT4=

cgoguyer commented 3 years ago

Hello @Mogztter ,

I'm using "asciidoctor-kroki": "^0.12.0" with nodejs v10.24.0. and with https://kroki.io for testing from console. But I have the same issue using asciidoctor-vscode plugin in vscode with a local docker image of kroki when I try to generate documentation including plantuml-stdlib C4-Plantuml as local file without internet connection. The issue is only when using local include.

I got no error from nodejs and the generated URL is returning: Error 1036 Invalid request rewrite: https://kroki.io/plantuml/png/eNrtHWlz2kj2O7-irTiD8Y2Nj3gxVRwidg2xvYDHm42nKAFtUI2QGEnE8Wzy3_d1t46W1LoAT7JbkSuxkN79Xr9-feEialb27jRFt-8_dAqFImoammFacPMm9SoUNiaaMVQ0tCl35A_yTX_QvoX_mred2y66RNKbNr0kDrDe7d4-cBCn9OIhGrf3N6169yMHVKEXD9SR38s3rTh2YbD-db8jc3CH9IrCAWO5fX0jtwaNXznw87O63KwngYfkaJzBC0AAK_bsF03VJ3nt2ZebVzeMbO_63zJQLR8VCtYfqj5XTGWGxvhJWWh2H3-x65o60WdYt9EI_sMmD_ZsKvMHdWxP0dHhIfd8pnz5gC1LmeCe-hdG5ZNDHquDJ1gfNwxzjE0aDsg2Fd2Cl8AgCqeM_piYxkIfp8O2Dd1mUFEP8hKYeGQr-kTD6D8FBFcP9MKG_TLHhAKT-Yi-sabK2HgGC6MnRbNw4VvASoqtDBVrRSp_LvBiRRJ10zSeHRKO_lxDoI8504heuay-Cc1UrQ6JAxTzpVZzJQ3JEyP9YZh5sPnRt3wkxL8nkY7B5NYUj4mYRcfnSIF_fWWSMad4TcBWJi0W5Q4daFlS4HVzYdnGjH9b2Fjofy4MG4_R00If2aqhA6TB9La2NrGGSUvpgwV2KQmrBBpsqE9o661lmxrWt9hTdHmJDktUu41Ni6EDi2K1WkQ7iKcDH4u1WrHw1sL24LNiqspQw3CjLfCWtClFoSUmsLSL3tomAJUcNia2FyaI63AjcgEYiFYIyVCkD4bmHf1I5J4T3Yjcu0jakahKz1MVvLHlgNU4bQCOoi2GgOmiHYI5KGhUZ-92x1OfkEhXm0HFqUsZRwVhUuyUXagUNYEy1VTsxdphVnWsbPpYcQoxV8FNEU0VC9kGGmKkKZa9iwx7is1nFbKQ280i4zM8MVUbW0jRNEQMZc3xSH1SR8hr3VYhVfC1h2EkCIlebkuC1uU3KpeYMul5Anvti7Ut1uqISyc0d8Ddk5tnyFM_q8AnL31SMVxChDZp2X7K4zVBO1K16rqGcSOKkRRInr7V8TP0vaCaGx0-_41LSXJjI8gr8BGoRfMmS4SUr0cvzC4b3azUvOhiWjj2zKdDuJumHB1Kafx8T-XkyXUcjJ__IJml35tCIpZIgOZxl4scEx3kIaOJ8khB-9F1i8GIxsuRwudbFNVtwhxkuBl7neTcNEZ4vDAx2oSKEkjwjXnFJmyz1MAJHUwWkle9SKvnC46Ze7sTx9etCv9mtrSMXJGny4U61HNeIDEDBMvssm6bL-vwIiVEsvBXKSkFDUlZ4b6gMeyWne672FFWsAPVlRmE5oiOQ6E3_YxJd2rZimmjZxWGMm_gs4H8Ht-pH4YTWsaUS2iDjMGCcsFnlu-CjYvTzr-HZlV1oKGHqUmISlW93zk6qbdraH8fKg4b-8V3Wp6MZUJVvJB2AmlRqnmsqgcUAjJFyJwZKE4SCAVynLBLTGfgoREL5RYvYQDt0Ut1EopmVSRl6UHiCG4xnJLITEldQSw93UAJJP3unpCU0C-_-B0yfcLop3EgZHYR3Ayhh2fNpuRHDGIyihhmJ89T5dQIJYM8VMOy8sbJ0DwD8RwLxvKV2x96b7L0hsp4DOm7b7ReIBupI5ZRhckUWg2fT9lHrkGzB174OI0sIvS6cnby-MVvKRw_p0-i955sobF15FGY3qMuRTolzp7W1Hiug8E_Y5-xiqHIgPFPi1Ye45J4WOsD7FIu6aNbRyhuaMnTiIx0_ZdxKM6Y9Ch2TCqS0e2ePF_gL6plWwnOkGAI9naS332laPsRj4k5W9eEBuMgvrcGcBMKpyJaWOCj4QuCcheNHZeRQbmwCddpC-4t5nPDtNfWctdbJudIM1lJxhqNOo_0X051aiFN_QOjOTYtQ9-FqmZfaMb7OZTLnL51fZyWqr6_XX_k_BpxEIngA8ubYfBL3iGGKNfUmUo8QivfRx0JndTDdmCq1MuunkjOE8804ZnVCGRUTtmZdIGHEDQ2gcm2qFEkHb0G1TKd7HIbrk8GkQkzYk5kGs-WP8NLIPr0eXDm13veVOZ0zBN9DY7jXl6KJ4bBandMiJcrrIC7tzZB0PINDD_AY3B75N8ek1vKiH2ueJ-ZSaNMJe95WNavl6xydZnRwpV7eOQ_9MtZT4YNv8gSko8-A0o-8eMQ8WBJ6mm2IpdKHBenGJOk2CLMc88DRLyxCLuoFGtWKcYRl1JOxtBzuExZRDjR4EQCHwV-BFDzcRHL2S_4ypVsI1gs88EuNC4psEK9pD_iEmP7aFxNHQ_61Q9Lx3XkY8ig3riLWEQUpDGhE-HmR2RiNOYmV1kx7DYnLC3Qsk6dQKq66RA3u6VnyNEB8YCNJ52PvMOJKtBDkoLrPy6RlRUYdIITgp5i0qMmlfIQ6sYSMiOEollVcj9Lu9JvpMMEHLI6qLxA8866MO53dlfXLXnQ68td-bb_8U4G0abqGCO_B00Yh3TqH2_v-4N6b9D7Ve43rwDZX1oYhmbI38iy3Gg1OYipAqW1qdo21hGZUYguyJMZfZr7pKYBBR3qKbqFPvSkAlubh9G0QX5V_VH1pYnHtQfF1KG8uKgekBc11DSxQn0BYoxVa7SwLJVUaTrGY3d1CWoPldRm43R9-7d3g9btww2oaxtzim_YMJYD2mQWi_gtlUZHbvcH3ev3V_2tEipo-MkmdEx1MrXjyYRXw9CIlACqDhjKBMwmrmaubh8GrY839Q_XzQGbKdraJD72l2Eu3Qkd1hxDL723osCA9qSxqofKXvjqzEoJ9orUtrdZgbS97c04fC3Ej2XDdVUpGZYfT5cK8B-TK2rDBlvbz15xbQTasIMOnZmmDLFGqlEwhp_MyKdAh-W08-LlJV1lpFiR7EyxNlKwyKrko1611L_wBX0a3tdCVi0_sUVYZxHz9-oBAa8VgwPB5PkaX0VoFApZRuZVZQMOUmfTsYa_uURKMI_EbxyQ3O0VLqESKVoZs6i_ulhTiKzWVJ1n9ZhAKSAzcBQiJQi9OeJU81odG0ExQO6xi4Iu0PY2w9reDkm7DF8bj6b6svwf9YMDFg_hWKh9YpTdADg4iCQlsbBbm0-mMSOCGa6UpQJTIvJiF0l7e7WaVMpmByEFJmYCC9dCYlbiAFbzK1KtZlYljnweZWLYxYYQWXBeQqOsromjn1el7ArdYOgwhoaZN96yh1sSi1xxl9dPy-oGBszlr3UpKOIby7iV12GkVMrjtdaq7srN0HjWX10pMY-16BWfo3I7CyIhj2bxTHKG3xJM8zttnXzWpF9svNznDcj7uzzheL9qLOZkN39ldeavo09CXNznD77sOsWzyBl3uVnO_wa15q-lV2x8dPKGHxme5wnAzqrxl5shfrJfXSkxj7XolRAfnfwhmEezeCY5Y3AJpvmdtk4-a9IvNl66eQOSzn_licjuquGYnyOZ1Xp9vWK4rEe3hEjp5g_HXMrFc8kZjMtwXcJ16-W0Lh296X10hTWyxWCFaTAgFCjYSwV6j_Y-TdXxGOu_t_bI4wy6E0r3SZTu81DqJlHq5qHUSaLUEVGia-r6Z2zaSHV2xSrjsUpm3RQNXs1m5NAV2ROOFHOyoOv2e62u3Kn3r3-TB9c3zc59S76U9iUyOb-wMNIMMjX_UiiSyd3olp8wKni8SCaC9ZG2GGMk3PQTxTloVvbni5kGXOjiJU9iattz6-LgwFSe9yeg0GIIYpmgpQ3C74NKB3NyfAaw9yx7rKnDA-7g6sFMIdP8PH06c0wOYI6MOb5AdWSpdM7XMp7sZwUsb70AymwfQO5MdaaYL97OmAvUn0YAyaqFRWgRDGdbEb-d5gLdYWMODIjlQ7iWs0KivRC36XBHdi4ZyE5hc02UHwOsshirWB-BHjI4_WVojF92yRrOFNHWqILvKF_d0Pf8J3Mq0C6QtMhCCAGAJknvjacg8zH-jDVjTgPFxgqYZemjwHdyt3d7M2i85w_cnleOzhpSFOi225K7PODZceOUP8Er_6svd2_qnYGI7Ok5-UmCDtM_r5MfDqP3sdeXPwTJlsun542WAChM7bh51m4eiviLyL6jVxJ0nLS5zxGn7NqS2K4vspgRMuuu6Cj3rtBfpVQu-Au0SUhIA59dnDvj-CY5NF0A1qQI35A_4tgJHJFDTZ9dXBykqikUgPp_Ts8LZvS_RaHRJjM8-lQ5_1I5Pyif_o7-UzjMea0HofKu0WzWz44yIpzKbedqHGdAKDfb3HWWilCW24HrPA2h2Q5dp8kIZ-3IVU5CKEfh2--SEE4FCO0khIYIoZKAIIsQzhIQRPAhy66I0BIhnCYg1PMqLTKrnOhpOU2FVUND4LqTtPBuJXlN2OIaSfSFTfTEY1IvZ0wCx2f1RuPdafn10kx2hKOTs_NzLrecnJ-fVsqxCGeOtq13p5Xj48qZa69GRYhQEbYeB6UcRThrJ12tozDCaTv5kstBhON22tUIIjRSEdwoKWRkAGrwCO8yILSPOIRWFoRTDiELvNNWC3E5OHrV8yI0fjwETodDOQvCGYdwmgHeCT8nls7TI-M4GN7lyknidfw3Zo1v4XLqKL2e-lnt_Kx2flY7P6udTNUOrUTCtUi4GilEKpFoLRKoRgoZKpFANVLIUonw1chy3cFx3i6tkQmBebGQmYFTjRSyViJuNVLIWom4jbWQtRJx21Ihay_u2ukHQ6gvqXR-s3qOiykwzsOOO86I0IoEXwrCSSS8kxEa0QaUiBCsp85SEYJN1EkCCQjhJMDSTCyCIM1wiSx8hRLZt9yHP-KONzrTmI86m3h71EMTjtwDZ2quJDrZ8HDdv3LPGUTPDKx2WOBrNTzDWnOO3LKXofnBmrMKQN_FzZXWkKtWgFTcnCMH7iwxfI0_bODNTTvnWe4oAzb5SKaknZnc6IEcR8beXfe6Lzun9GJoSFlWe-khkCDRTVaGX_In7pzKnD-9kCZ68OScGNihm3AW3TkNu9yJDMbNP3AwxtaInjOmXN1TLQHdyLeDbImk3fC-UcLypBeAuWdfGGnKMEA5bEj-OMeOcwQkG4mNCInqJpBgb3eKtUc9meRGPql2io_Q0BF8pOgZKeYRMo5D3FfjgYN7tKGlOTjNCyv7YO0eWLf912Z9QQZxG1n4RBAl43wHgZtQEo4HpbRV_zBk6MSQv-aVcl4oXvaB_MX-bvILFu-WUMRtCCsqkdKeYpXwV-SWln0tTlhWfsHSYurps_ynBQW6y-S0Kghn4UHC2TpX21gQyafjyZ5hU4xj-ZU494IW-7_ZQDNoki0xX-zX3kgT4bPShhpCTAFrmhY1tqqn7n1Z4xabkcc8ZlNNP7RlZpkdM_9AzAFEYA9IMUfkuwJHNkSmg0BMQOnCHTslemAxVcl3HD49rbDzpnl7069f38jd4L6TyvF5q3UiCeGy72iJId44Jj8pCGEu9VPyk39fS9pODM_RpNlHBY7bfSGWNMfGjwDfBIulbv-Ik-TVRsye5OmDZ-6Br-__yoCavYx6pOYnB_Tag24eXCSJh8GLlPC1ACsNQb2EvBU9172uwQop3d3T3vAsdN57h5z832Fcd4r-qe_i2sc4a5Rj4_X1f_3h1LpkSh2CcUEWqeD4YMteSGcP29iaOpCslxgWeCK0hsur5f1lkh9Oq3-Sr6leXjH2x1J-OK3Eo7jvF4Ti0mG1aFxNx7VH5PpVpKG5mpbrDc-lVFzTCN0P7ZWGyc2I5GF5nQkkZTxTybGfOvkNY1oYvBik_guP1UdlMvhWZmQY5YzBS95fPnIt_oyHA2U-B8gHPET1-VyD0RfpRyQi0ptdVO_d7d_IfUABVY_2y-jDb03yrq5pxrNFBtwm_V4pGM6SPzWFZlDqqoRl_5l8PZeJbHWGyfDdAhG_OUJu2ewl0HHASP1KvhnFUc4X694CTPh91e_f9SR6HMoX2ifzHtsgxjMmv8ixHR7lvw6BYXk=

So using old libs (RicardoNiepel) with same code works fine (as shown in code in previous post): https://kroki.io/plantuml/png/eNrtWmtv4jgU_c6v8NAPM5V4djqdbpci8UgfWkoRhO3OzqyQSUyJJsSRbUrZ7fz3vU5CyBMIfWhW2iCVNL73-NwTx77X4T1qHRd7JrbE8KZTQA-EcYNaqFqqlCq592gqhM3PyuV7Q0zn45JGZ-W-oWGm065BbGKWA945sG9RkzIOJwdbj1zunU4mhkWQ0lFulK46uriFP63bzm0fHVw4h4QciKVpWPcZMVWlddV1EQfXfyqoepTL8e-GZWOGZwiM8NwUKnkUDdO4t2bEEkiDP4QFzRYM23eGLqboqFIJXJ_hxxvCOb4nA-NvgqqfKkEvRjSBrXuToH9yCI4BoBIqlja5oJZwPY6cFj7FOl1AcGiCTU5yP0IcscBjzJ-J0mCMLjwI5-aggxPncK5IqOSrqw5-JEZWq43p3NIxW9brK34RFimcK9F-j53DudqkTCcs7bocBwRU4VOiS1rvUQcv6VxkGxgmBYadxpfboTpqDEaD3xS1dRUIcYy17_dMBufxUBSl2W4FLKbY0hfMEIJYSLA5iQ8rGV0XzwjKt-jM0NAAWxzdDPI5d4ShCaXyqzahctTJbs4Z0et3mFmg31mtLBvqqMUIFkQHc4Z0g2tzLh_NArII0TkSFI0JesCmoUur3Dti6esQ1w-CF6t62xu1b--64Gc7vlQICowNeU8BNmrfUS7UUf_68kpFJpkI6cKM-6kIeIDwTXcUGCTrI-85Lj-QEUSAeQGRkYnHxDwMPD7583Pvah6FRhzmyPPbDihP5AhMBv5m1TgMy7PIdFH_6jr9VSvL5np6_xB3n5hYCsKnhp1RBnAdrRhXCyvQoxB5X_DzfP5wZVINNvh-6EyG5ouWqRtBtKn1rP6-WeVyupoSfiVnuZwPaQDcJozOCmBGAyPBox1vKqB8sVjPH27F8APbCOYH76GGdGvChPBh5eB4xwgmtAFWrVgMM9wAFee5ycgHD6F3CTyfY8r2ETOi5WaszKImahrsYx9xE7TdArmHyFHi7X3EldNuTOH2y0ibjE0X1gaiKUHsBhFhuC2MsHzDfeQb9mIBDl9GvCRkewPF4Q7CpQBEuA0zydbZRza5gMfC67yMcMnYkCZsINrZQbxUiAjDTib5-vvI56Q-sRj7L6NfCrjMrzZw7e-gYDpGhGR_q4Sr_BpdEdMmmYs6cF7PDhKWHnpzLSp-nRqQq1p_tYtOQ8hnuMVnmODT3-LTT_DpbPHpeD4Q9jvD0sy5TubM9Atihhcltyiec8I0SNght99cH5dnmEPeD5dK9nxmAvDcAgen9hRTAnm-aboVlClJQpmBQs0G404eDh0ik2rYNJcBckhi-tiybtaoTc5QA3HDSXo5nYgFZnCyBBqzEpj0mDGDjBYRk8hu-BlSpzFDZFiISyzpMZjbNmVCklw79Qi1TZdwxJd75YK5hFAsC86gnoEQxJZurqWcOtjiuW4QS4M4lAfClmOqLwuydpkiZ5iC1KbTr0Wt4vqK7RAqACQ3dJcYDGTnnE7CnevkAQom21WZYJBl312MntIf3HZHzcvVFkbl9Pjoc3O9y_GHqvS7jc4oZnhyKj--4eDLQFVuAu3V6slpsx0Hihn-4hzZN00SK3z5zFNrXd-Hanm3OI5v3ESq-xSDZqTIjigS3wyofP7YPLlI3Ywgj0DOwuboDTmn3c44-dOG_KSSd4f_m3CODJg41Y-tzxetynad35Bz2mjfTefVJtrPL_Oa6X9F5edvwN1dq1ejjnKpdNu5qZyduR9iziT3sAS4m065p3MUOuB_FYzQU-6pFnn-6p4FcucCxyTtWfVtV5IHnSJK1B1Db60KgSYYhkF9JwjIDSu2W_ceKd5ymnXVcQhn2Ebzp8iETbQUMGdXiHCNpe2hfbNWFmk9RLoYKY8iA-f4_J5KPhE5YwAbu1sv085dzRCF_zgnkE8By0g8qYdIF_sqv538iyq_QyTtcUIc_kuTrNInoAW4J8DuoX17nKJ-CusM4qdAZwths_rP2O1X5GsPmxmcjDZs_G_Yws-vEQJFszfu9oR0vfOHr1LhjVrS_lG8SqUXhd-32JMgGAgwjhYQKBRg4u3KP83vPKXgUyPl3D7V3K_I1UwS9o0w06YGFIsChoPnICVwcOHMfZdT5m6okJLgyWT_qrAFeVfjuqv0A2Xa8cfTdvvTC5Vpvo5vkifGw8ma3f7MfP_PaLNmtE-1uMIurn-fXyfv9eeu5Be-7kZncsqR4S0lCo_XhOV3Bx5bc6DdCUVX7BRycXYp6Y2nU2Ju8DoybSKyLVt5eZ2ekdP4Ee2bf_gAMgXxKi-szwz5hqAhvw0uYDGisj2a6WhVmcDgmVwWV3mM_yOf1YBckPEI2zZY3pExati2CaupXNzysveDAmoMeqWuooILrIpHpSq6-b0l2xoyO-Ey-2DO70wgN7Hlwjmbm8KQXaoL-fMXhoQxIzKD4UDxh0fyg3AbAcczk_HJF_RecGtaQw6e8H2lqr0BWEkjv3UNc0kE0FgQ-SX36IMu_wIAJnCU

And yes, both code works in https://kroki.io.

ggrossetie commented 3 years ago

I'm using "asciidoctor-kroki": "^0.12.0" with nodejs v10.24.0. and with kroki.io for testing from console. But I have the same issue using asciidoctor-vscode plugin in vscode with a local docker image of kroki when I try to generate documentation including plantuml-stdlib C4-Plantuml as local file without internet connection. The issue is only when using local include.

I got no error from nodejs and the generated URL is returning: Error 1036 Invalid request rewrite:

@cgoguyer The generated URI is way too long, currently the max URI length is 4000. I believe that you have C4 files locally? I would recommend to use the following syntax:

@startuml C4_Elements
!include <c4/C4>
!include <c4/C4_Context>
!include <c4/C4_Container>

Person(admin, "Administrator")
System_Boundary(c1, "Sample System") {
    Container(web_app, "Web Application", "C#, ASP.NET Core 2.1 MVC", "Allows users to compare multiple Twitter timelines")
}
System(twitter, "Twitter")

Rel(admin, web_app, "Uses", "HTTPS")
Rel(web_app, twitter, "Gets tweets from", "HTTPS")
@enduml

Since C4 is now available in the PlantUML stdlib it will be resolved by the Kroki server. In other words, you don't need to checkout C4 files locally.

You will also send a smaller payload to the Kroki server (and as a result the generated URI will be smaller).

cgoguyer commented 3 years ago

@Mogztter , yes I'm using files locally. Ok it works with embedded libs.