Skip to content

Instantly share code, notes, and snippets.

@tlkahn
Created August 31, 2026 02:11
Show Gist options
  • Select an option

  • Save tlkahn/fe85c41f3ee92a506e74abcafb543022 to your computer and use it in GitHub Desktop.

Select an option

Save tlkahn/fe85c41f3ee92a506e74abcafb543022 to your computer and use it in GitHub Desktop.
plantuml from plantuml-gist-test.md
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" data-diagram-type="CLASS" height="314px" preserveAspectRatio="none" style="width:267px;height:314px;background:#FFFFFF;" version="1.1" viewBox="0 0 267 314" width="267px" zoomAndPan="magnify"><defs/><g><g class="title" data-source-line="1"><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="700" lengthAdjust="spacing" textLength="148.668" x="55.8289" y="23.5352">Core domain classes</text></g><!--class Order--><g class="entity" data-qualified-name="Order" data-source-line="2" id="ent0001"><rect fill="#F1F1F1" height="113.9531" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="156.5391" x="48.2" y="44.4883"/><ellipse cx="102.7474" cy="60.4883" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M105.2205,66.6313 Q104.6395,66.9302 104.0003,67.0796 Q103.3611,67.229 102.6556,67.229 Q100.1487,67.229 98.8289,65.5771 Q97.5091,63.9253 97.5091,60.8042 Q97.5091,57.6748 98.8289,56.0229 Q100.1487,54.3711 102.6556,54.3711 Q103.3611,54.3711 104.0086,54.5205 Q104.6561,54.6699 105.2205,54.9688 L105.2205,57.6914 Q104.5896,57.1104 103.9961,56.8406 Q103.4026,56.5708 102.7718,56.5708 Q101.4271,56.5708 100.7422,57.6375 Q100.0574,58.7041 100.0574,60.8042 Q100.0574,62.896 100.7422,63.9626 Q101.4271,65.0293 102.7718,65.0293 Q103.4026,65.0293 103.9961,64.7595 Q104.5896,64.4897 105.2205,63.9087 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="38.9443" x="123.2474" y="65.7793">Order</text><line style="stroke:#181818;stroke-width:0.5;" x1="49.2" x2="203.7391" y1="76.4883" y2="76.4883"/><g data-visibility-modifier="PUBLIC_FIELD"><ellipse cx="59.2" cy="90.2324" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/></g><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="55.6377" x="68.2" y="94.0234">id: UUID</text><g data-visibility-modifier="PUBLIC_FIELD"><ellipse cx="59.2" cy="106.7207" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/></g><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84.1709" x="68.2" y="110.5117">total: Money</text><g data-visibility-modifier="PUBLIC_FIELD"><ellipse cx="59.2" cy="123.209" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/></g><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="130.5391" x="68.2" y="127">status: OrderStatus</text><line style="stroke:#181818;stroke-width:0.5;" x1="49.2" x2="203.7391" y1="133.9531" y2="133.9531"/><g data-visibility-modifier="PUBLIC_METHOD"><ellipse cx="59.2" cy="147.6973" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/></g><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="56.0957" x="68.2" y="151.4883">submit()</text></g><!--class Line--><g class="entity" data-qualified-name="Line" data-source-line="8" id="ent0002"><rect fill="#F1F1F1" height="80.9766" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="98.9443" x="7" y="218.4383"/><ellipse cx="22" cy="234.4383" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M24.4731,240.5813 Q23.8921,240.8802 23.2529,241.0296 Q22.6138,241.179 21.9082,241.179 Q19.4014,241.179 18.0815,239.5271 Q16.7617,237.8753 16.7617,234.7542 Q16.7617,231.6248 18.0815,229.9729 Q19.4014,228.3211 21.9082,228.3211 Q22.6138,228.3211 23.2612,228.4705 Q23.9087,228.6199 24.4731,228.9188 L24.4731,231.6414 Q23.8423,231.0604 23.2488,230.7906 Q22.6553,230.5208 22.0244,230.5208 Q20.6797,230.5208 19.9949,231.5875 Q19.3101,232.6541 19.3101,234.7542 Q19.3101,236.846 19.9949,237.9126 Q20.6797,238.9793 22.0244,238.9793 Q22.6553,238.9793 23.2488,238.7095 Q23.8423,238.4397 24.4731,237.8587 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="66.9443" x="36" y="239.7293">OrderLine</text><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="104.9443" y1="250.4383" y2="250.4383"/><g data-visibility-modifier="PUBLIC_FIELD"><ellipse cx="18" cy="264.1824" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/></g><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="72.4336" x="27" y="267.9734">sku: string</text><g data-visibility-modifier="PUBLIC_FIELD"><ellipse cx="18" cy="280.6707" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/></g><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="48.1934" x="27" y="284.4617">qty: int</text><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="104.9443" y1="291.4148" y2="291.4148"/></g><!--class Customer--><g class="entity" data-qualified-name="Customer" data-source-line="12" id="ent0003"><rect fill="#F1F1F1" height="80.9766" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="111.7158" x="140.61" y="218.4383"/><ellipse cx="161.8063" cy="234.4383" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M164.2794,240.5813 Q163.6984,240.8802 163.0592,241.0296 Q162.4201,241.179 161.7145,241.179 Q159.2077,241.179 157.8878,239.5271 Q156.568,237.8753 156.568,234.7542 Q156.568,231.6248 157.8878,229.9729 Q159.2077,228.3211 161.7145,228.3211 Q162.4201,228.3211 163.0675,228.4705 Q163.715,228.6199 164.2794,228.9188 L164.2794,231.6414 Q163.6486,231.0604 163.0551,230.7906 Q162.4616,230.5208 161.8307,230.5208 Q160.486,230.5208 159.8012,231.5875 Q159.1163,232.6541 159.1163,234.7542 Q159.1163,236.846 159.8012,237.9126 Q160.486,238.9793 161.8307,238.9793 Q162.4616,238.9793 163.0551,238.7095 Q163.6486,238.4397 164.2794,237.8587 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="65.9463" x="177.1832" y="239.7293">Customer</text><line style="stroke:#181818;stroke-width:0.5;" x1="141.61" x2="251.3258" y1="250.4383" y2="250.4383"/><g data-visibility-modifier="PUBLIC_FIELD"><ellipse cx="151.61" cy="264.1824" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/></g><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="85.7158" x="160.61" y="267.9734">name: string</text><g data-visibility-modifier="PUBLIC_FIELD"><ellipse cx="151.61" cy="280.6707" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/></g><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="85.1211" x="160.61" y="284.4617">email: string</text><line style="stroke:#181818;stroke-width:0.5;" x1="141.61" x2="251.3258" y1="291.4148" y2="291.4148"/></g><!--reverse link Order to Line--><g class="link" data-entity-1="ent0001" data-entity-2="ent0002" data-link-type="composition" data-source-line="16" id="lnk4"><path codeLine="16" d="M96.2742,169.5307 C87.4242,189.1907 82.6,199.9083 74.46,217.9683" fill="none" id="Order-backto-Line" style="stroke:#181818;stroke-width:1;"/><polygon fill="#181818" points="101.2,158.5883,95.0896,162.4176,96.2742,169.5307,102.3846,165.7014,101.2,158.5883" style="stroke:#181818;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:10;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8.2202" x="89.6462" y="179.0515">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="22.7119" x="53.6304" y="207.8383">0..*</text></g><!--link Order to Customer--><g class="link" data-entity-1="ent0001" data-entity-2="ent0003" data-link-type="dependency" data-source-line="17" id="lnk5"><path codeLine="17" d="M151.74,158.5883 C160.59,178.2483 168.2975,195.349 176.4275,213.409" fill="none" id="Order-to-Customer" style="stroke:#181818;stroke-width:1;"/><polygon fill="#181818" points="178.48,217.9683,178.433,208.1195,176.4275,213.409,171.1381,211.4035,178.48,217.9683" style="stroke:#181818;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:10;"/></g></g></svg>
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment