artifact-editor/formats/index.html

102 lines
39 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-formats" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Artifact Editor Formats | Artifact Editor</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://pages.brrd.tech/rob/artifact-editor/formats"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Artifact Editor Formats | Artifact Editor"><meta data-rh="true" name="description" content="PlantUML"><meta data-rh="true" property="og:description" content="PlantUML"><link data-rh="true" rel="icon" href="/rob/artifact-editor/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://pages.brrd.tech/rob/artifact-editor/formats"><link data-rh="true" rel="alternate" href="https://pages.brrd.tech/rob/artifact-editor/formats" hreflang="en"><link data-rh="true" rel="alternate" href="https://pages.brrd.tech/rob/artifact-editor/formats" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Artifact Editor Formats","item":"https://pages.brrd.tech/rob/artifact-editor/formats"}]}</script><link rel="stylesheet" href="/rob/artifact-editor/assets/css/styles.6095798e.css">
<script src="/rob/artifact-editor/assets/js/runtime~main.2626ccd4.js" defer="defer"></script>
<script src="/rob/artifact-editor/assets/js/main.c36ad88c.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<svg style="display: none;"><defs>
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
</defs></svg>
<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")),document.documentElement.setAttribute("data-theme-choice",t||"system")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="theme-layout-navbar navbar navbar--fixed-top"><div class="navbar__inner"><div class="theme-layout-navbar-left navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/rob/artifact-editor/"><b class="navbar__title text--truncate">Artifact Editor</b></a></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><a href="https://gitea.brrd.tech/rob/artifact-editor" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Source Code<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="system mode" aria-label="Switch between dark and light mode (currently system mode)"><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP systemToggleIcon_QzmC"><path fill="currentColor" d="m12 21c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9zm4.95-13.95c1.313 1.313 2.05 3.093 2.05 4.95s-0.738 3.637-2.05 4.95c-1.313 1.313-3.093 2.05-4.95 2.05v-14c1.857 0 3.637 0.737 4.95 2.05z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="theme-layout-main main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/rob/artifact-editor/"><span title="Artifact Editor Overview" class="linkLabel_WmDU">Artifact Editor Overview</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" href="/rob/artifact-editor/formats"><span title="Artifact Editor Formats" class="linkLabel_WmDU">Artifact Editor Formats</span></a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/rob/artifact-editor/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link">Artifact Editor Formats</span></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Artifact Editor Formats</h1></header>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="plantuml">PlantUML<a href="#plantuml" class="hash-link" aria-label="Direct link to PlantUML" title="Direct link to PlantUML" translate="no"></a></h2>
<p>Full UML diagram support with local or server rendering.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="supported-diagram-types">Supported Diagram Types<a href="#supported-diagram-types" class="hash-link" aria-label="Direct link to Supported Diagram Types" title="Direct link to Supported Diagram Types" translate="no"></a></h3>
<ul>
<li class="">Class diagrams</li>
<li class="">Sequence diagrams</li>
<li class="">Use case diagrams</li>
<li class="">Activity diagrams</li>
<li class="">Component diagrams</li>
<li class="">State diagrams</li>
<li class="">Object diagrams</li>
<li class="">Deployment diagrams</li>
<li class="">Timing diagrams</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="example">Example<a href="#example" class="hash-link" aria-label="Direct link to Example" title="Direct link to Example" translate="no"></a></h3>
<div class="language-plantuml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-plantuml codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">@startuml</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">class User {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> +id: int</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> +name: string</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> +email: string</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> +login()</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> +logout()</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">class Order {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> +id: int</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> +total: decimal</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> +addItem()</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> +checkout()</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">User &quot;1&quot; -- &quot;*&quot; Order : places</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">@enduml</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="configuration">Configuration<a href="#configuration" class="hash-link" aria-label="Direct link to Configuration" title="Direct link to Configuration" translate="no"></a></h3>
<div class="language-yaml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-yaml codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token key atrule">plantuml</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">server</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> http</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain">//www.plantuml.com/plantuml </span><span class="token comment" style="color:rgb(98, 114, 164)"># or local</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">format</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> svg </span><span class="token comment" style="color:rgb(98, 114, 164)"># svg, png, eps</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">timeout</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">30</span><br></span></code></pre></div></div>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="mermaid">Mermaid<a href="#mermaid" class="hash-link" aria-label="Direct link to Mermaid" title="Direct link to Mermaid" translate="no"></a></h2>
<p>Lightweight diagrams rendered in browser/embedded.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="supported-diagram-types-1">Supported Diagram Types<a href="#supported-diagram-types-1" class="hash-link" aria-label="Direct link to Supported Diagram Types" title="Direct link to Supported Diagram Types" translate="no"></a></h3>
<ul>
<li class="">Flowchart</li>
<li class="">Sequence diagram</li>
<li class="">Class diagram</li>
<li class="">State diagram</li>
<li class="">Entity Relationship</li>
<li class="">Gantt chart</li>
<li class="">Pie chart</li>
<li class="">Git graph</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="example-1">Example<a href="#example-1" class="hash-link" aria-label="Direct link to Example" title="Direct link to Example" translate="no"></a></h3>
<div class="language-mermaid codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-mermaid codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">flowchart TD</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> A[Start] --&gt; B{Is it working?}</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> B --&gt;|Yes| C[Great!]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> B --&gt;|No| D[Debug]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> D --&gt; B</span><br></span></code></pre></div></div>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="openscad">OpenSCAD<a href="#openscad" class="hash-link" aria-label="Direct link to OpenSCAD" title="Direct link to OpenSCAD" translate="no"></a></h2>
<p>Parametric 3D CAD modeling.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="example-2">Example<a href="#example-2" class="hash-link" aria-label="Direct link to Example" title="Direct link to Example" translate="no"></a></h3>
<div class="language-openscad codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-openscad codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">// Parametric box with lid</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">box_size = [50, 30, 20];</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">wall_thickness = 2;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">module box() {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> difference() {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> cube(box_size);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> translate([wall_thickness, wall_thickness, wall_thickness])</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> cube([</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> box_size[0] - 2*wall_thickness,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> box_size[1] - 2*wall_thickness,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> box_size[2]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ]);</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">box();</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="3d-controls">3D Controls<a href="#3d-controls" class="hash-link" aria-label="Direct link to 3D Controls" title="Direct link to 3D Controls" translate="no"></a></h3>
<ul>
<li class=""><strong>Rotate</strong>: Click and drag</li>
<li class=""><strong>Zoom</strong>: Scroll wheel</li>
<li class=""><strong>Pan</strong>: Right-click drag</li>
</ul>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="code-pygments">Code (Pygments)<a href="#code-pygments" class="hash-link" aria-label="Direct link to Code (Pygments)" title="Direct link to Code (Pygments)" translate="no"></a></h2>
<p>Syntax highlighting for 500+ languages.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="popular-languages">Popular Languages<a href="#popular-languages" class="hash-link" aria-label="Direct link to Popular Languages" title="Direct link to Popular Languages" translate="no"></a></h3>
<p>Python, JavaScript, TypeScript, Go, Rust, C/C++, Java, Ruby, PHP, SQL, Bash, YAML, JSON, HTML, CSS, and many more.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="example-3">Example<a href="#example-3" class="hash-link" aria-label="Direct link to Example" title="Direct link to Example" translate="no"></a></h3>
<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">def</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">fibonacci</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">n</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token builtin" style="color:rgb(189, 147, 249)">int</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token operator">-</span><span class="token operator">&gt;</span><span class="token plain"> </span><span class="token builtin" style="color:rgb(189, 147, 249)">int</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token triple-quoted-string string" style="color:rgb(255, 121, 198)">&quot;&quot;&quot;Calculate the nth Fibonacci number.&quot;&quot;&quot;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">if</span><span class="token plain"> n </span><span class="token operator">&lt;=</span><span class="token plain"> </span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> n</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> fibonacci</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">n </span><span class="token operator">-</span><span class="token plain"> </span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token operator">+</span><span class="token plain"> fibonacci</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">n </span><span class="token operator">-</span><span class="token plain"> </span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></span></code></pre></div></div>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="svg">SVG<a href="#svg" class="hash-link" aria-label="Direct link to SVG" title="Direct link to SVG" translate="no"></a></h2>
<p>Interactive vector graphics with visual editing.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="interactive-features">Interactive Features<a href="#interactive-features" class="hash-link" aria-label="Direct link to Interactive Features" title="Direct link to Interactive Features" translate="no"></a></h3>
<ul>
<li class=""><strong>Click</strong> to select elements</li>
<li class=""><strong>Drag</strong> to move elements</li>
<li class=""><strong>Resize handles</strong> on corners</li>
<li class=""><strong>Delete key</strong> to remove</li>
<li class=""><strong>Elements panel</strong> for management</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="example-4">Example<a href="#example-4" class="hash-link" aria-label="Direct link to Example" title="Direct link to Example" translate="no"></a></h3>
<div class="language-svg codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-svg codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;</span><span class="token tag" style="color:rgb(255, 121, 198)">svg</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">width</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">&quot;</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">200</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">&quot;</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">height</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">&quot;</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">200</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">&quot;</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">xmlns</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">&quot;</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">http://www.w3.org/2000/svg</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">&quot;</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;</span><span class="token tag" style="color:rgb(255, 121, 198)">rect</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">x</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">&quot;</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">10</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">&quot;</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">y</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">&quot;</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">10</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">&quot;</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">width</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">&quot;</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">80</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">&quot;</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">height</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">&quot;</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">80</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">&quot;</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">fill</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">&quot;</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">#3498db</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">&quot;</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">/&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;</span><span class="token tag" style="color:rgb(255, 121, 198)">circle</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">cx</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">&quot;</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">150</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">&quot;</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">cy</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">&quot;</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">50</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">&quot;</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">r</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">&quot;</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">40</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">&quot;</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">fill</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">&quot;</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">#e74c3c</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">&quot;</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">/&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;</span><span class="token tag" style="color:rgb(255, 121, 198)">text</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">x</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">&quot;</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">100</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">&quot;</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">y</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">&quot;</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">150</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">&quot;</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">text-anchor</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">&quot;</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">middle</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">&quot;</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain">Hello SVG</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;/</span><span class="token tag" style="color:rgb(255, 121, 198)">text</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;/</span><span class="token tag" style="color:rgb(255, 121, 198)">svg</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><br></span></code></pre></div></div>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="excalidraw">Excalidraw<a href="#excalidraw" class="hash-link" aria-label="Direct link to Excalidraw" title="Direct link to Excalidraw" translate="no"></a></h2>
<p>Hand-drawn style diagrams for informal sketching.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="features">Features<a href="#features" class="hash-link" aria-label="Direct link to Features" title="Direct link to Features" translate="no"></a></h3>
<ul>
<li class="">Looks hand-drawn (imperfect lines)</li>
<li class="">Easy to create informal diagrams</li>
<li class="">Great for whiteboarding</li>
<li class="">Exports to PNG/SVG</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="usage">Usage<a href="#usage" class="hash-link" aria-label="Direct link to Usage" title="Direct link to Usage" translate="no"></a></h3>
<p>Excalidraw files are JSON format (<code>.excalidraw</code>). The editor loads/saves in this format and renders using the Excalidraw engine.</p>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="format-detection">Format Detection<a href="#format-detection" class="hash-link" aria-label="Direct link to Format Detection" title="Direct link to Format Detection" translate="no"></a></h2>
<p>Artifact Editor auto-detects format from:</p>
<ol>
<li class="">File extension (<code>.puml</code>, <code>.mmd</code>, <code>.scad</code>, etc.)</li>
<li class="">Content markers (<code>@startuml</code>, ````mermaid`, etc.)</li>
<li class="">Manual selection from dropdown</li>
</ol>
<table><thead><tr><th>Extension</th><th>Format</th></tr></thead><tbody><tr><td><code>.puml</code>, <code>.plantuml</code></td><td>PlantUML</td></tr><tr><td><code>.mmd</code>, <code>.mermaid</code></td><td>Mermaid</td></tr><tr><td><code>.scad</code></td><td>OpenSCAD</td></tr><tr><td><code>.svg</code></td><td>SVG</td></tr><tr><td><code>.excalidraw</code></td><td>Excalidraw</td></tr><tr><td><code>.py</code>, <code>.js</code>, etc.</td><td>Code</td></tr></tbody></table></div></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/rob/artifact-editor/"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Artifact Editor Overview</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#plantuml" class="table-of-contents__link toc-highlight">PlantUML</a><ul><li><a href="#supported-diagram-types" class="table-of-contents__link toc-highlight">Supported Diagram Types</a></li><li><a href="#example" class="table-of-contents__link toc-highlight">Example</a></li><li><a href="#configuration" class="table-of-contents__link toc-highlight">Configuration</a></li></ul></li><li><a href="#mermaid" class="table-of-contents__link toc-highlight">Mermaid</a><ul><li><a href="#supported-diagram-types-1" class="table-of-contents__link toc-highlight">Supported Diagram Types</a></li><li><a href="#example-1" class="table-of-contents__link toc-highlight">Example</a></li></ul></li><li><a href="#openscad" class="table-of-contents__link toc-highlight">OpenSCAD</a><ul><li><a href="#example-2" class="table-of-contents__link toc-highlight">Example</a></li><li><a href="#3d-controls" class="table-of-contents__link toc-highlight">3D Controls</a></li></ul></li><li><a href="#code-pygments" class="table-of-contents__link toc-highlight">Code (Pygments)</a><ul><li><a href="#popular-languages" class="table-of-contents__link toc-highlight">Popular Languages</a></li><li><a href="#example-3" class="table-of-contents__link toc-highlight">Example</a></li></ul></li><li><a href="#svg" class="table-of-contents__link toc-highlight">SVG</a><ul><li><a href="#interactive-features" class="table-of-contents__link toc-highlight">Interactive Features</a></li><li><a href="#example-4" class="table-of-contents__link toc-highlight">Example</a></li></ul></li><li><a href="#excalidraw" class="table-of-contents__link toc-highlight">Excalidraw</a><ul><li><a href="#features" class="table-of-contents__link toc-highlight">Features</a></li><li><a href="#usage" class="table-of-contents__link toc-highlight">Usage</a></li></ul></li><li><a href="#format-detection" class="table-of-contents__link toc-highlight">Format Detection</a></li></ul></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="theme-layout-footer-column col footer__col"><div class="footer__title">Docs</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/rob/artifact-editor/">Overview</a></li></ul></div><div class="theme-layout-footer-column col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://gitea.brrd.tech/rob/artifact-editor" target="_blank" rel="noopener noreferrer" class="footer__link-item">Gitea<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Artifact Editor Documentation</div></div></div></footer></div>
</body>
</html>