Skip to main content

1. Auto-scan

The fenced code block below is the standard markdown-renderer output <pre><code class="language-nowline">…</code></pre>. The bundle finds every match and replaces it with the rendered SVG on load.

Source

nowline v1

roadmap "Generative AI" start:2026-04-06 scale:2w calendar:business

swimlane "Platform"
  item "Technology Selection" duration:2w status:done
  item api "API" duration:3w status:done
  item "Agent Instructions" duration:3w status:in-progress
  item api-integration "Agent Integration" duration:4w status:planned
  item "Agent MCP" duration:2w status:planned
  item platform-e2e-test "E2E Test" duration:2w status:planned

swimlane "Web"
  item "Web Prototype" duration:4w status:done
  item "Web SDK" duration:2w status:planned after:api
  item "Web Integration" duration:4w status:planned
  item web-e2e-test "E2E Test" duration:2w status:planned after:api-integration

swimlane "Mobile"
  parallel
    group "iOS"
      item "iOS Prototype" duration:4w status:done
      item "iOS SDK" duration:2w status:planned after:api
      item "iOS Integration" duration:4w status:planned
      item ios-e2e-test "E2E Test" duration:2w status:planned after:api-integration
    group "Android"
      item "Android Prototype" duration:4w status:done
      item "Android SDK" duration:2w status:planned after:api
      item "Android Integration" duration:4w status:planned
      item android-e2e-test "E2E Test" duration:2w status:planned after:api-integration

milestone "AI Release" after:[platform-e2e-test, web-e2e-test, ios-e2e-test, android-e2e-test]

Rendered

nowline v1

roadmap "Generative AI" start:2026-04-06 scale:2w calendar:business

swimlane "Platform"
  item "Technology Selection" duration:2w status:done
  item api "API" duration:3w status:done
  item "Agent Instructions" duration:3w status:in-progress
  item api-integration "Agent Integration" duration:4w status:planned
  item "Agent MCP" duration:2w status:planned
  item platform-e2e-test "E2E Test" duration:2w status:planned

swimlane "Web"
  item "Web Prototype" duration:4w status:done
  item "Web SDK" duration:2w status:planned after:api
  item "Web Integration" duration:4w status:planned
  item web-e2e-test "E2E Test" duration:2w status:planned after:api-integration

swimlane "Mobile"
  parallel
    group "iOS"
      item "iOS Prototype" duration:4w status:done
      item "iOS SDK" duration:2w status:planned after:api
      item "iOS Integration" duration:4w status:planned
      item ios-e2e-test "E2E Test" duration:2w status:planned after:api-integration
    group "Android"
      item "Android Prototype" duration:4w status:done
      item "Android SDK" duration:2w status:planned after:api
      item "Android Integration" duration:4w status:planned
      item android-e2e-test "E2E Test" duration:2w status:planned after:api-integration

milestone "AI Release" after:[platform-e2e-test, web-e2e-test, ios-e2e-test, android-e2e-test]

2. Manual render

For dynamically loaded blocks or custom containers, call nowline.render(source) and write the SVG yourself.

nowline.render(source) → SVG string

3. Parse + diagnostics

Editor-style flows can call nowline.parse(source) to get the AST plus lexer / parser / validator errors without the layout + render cost. Edit the source below to introduce a typo.

nowline.parse(source){ ast, errors }
Click "Parse" to run.