dgmjs
 # DGM.js  An infinite canvas with _smart shapes_. It supports: - π‘ Smart shapes (scripting, constraints, extended properties) - π§ Headless components (React) - π₯ Infinite canvas - π Multi-page support - π Hand-drawn styles - π₯ Real-time collaboration - π¨ Dark mode (adaptive colors) - πΈ Export to image (PNG, JPEG, WebP, SVG) - π Export to PDF - π€ Rich text - π§π»βπ» JSON export/import ## Getting started - [Get started](https://dgmjs.dev/overview/getting-started/) - [Minimal example (StackBlitz)](https://stackblitz.com/edit/dgmjs-example?file=src%2Fapp.tsx) - [Run demo app](https://github.com/dgmjs/dgmjs/blob/main/apps/demo/README.md) ## Showcase - [Frame0](https://frame0.app) - Sketch-style low-fi wireframing tool - [DGM App](https://dgm.sh/home) - Full-featured web-based sketchnotes app - [Nakso](https://nakso.app) - A local-first whiteboard application. - [draw2app](https://draw2app.pages.dev/) - Generate web app from low-fidelity sketch by OpenAI. ## Contribution Please note that this project is **not open contribution**, so we do not accept any pull requests. ## Build ```sh # clone repository $ git clone https://github.com/dgmjs/dgmjs.git $ cd dgmjs # install all dependencies $ npm install # build all packages $ npm run build --workspaces --if-present # run demo app $ npm run dev -w demo ``` ## License DGM.js is distributed under the _GPLv3 license_. If you want non-GPL license, please see our [licensing options](https://dgmjs.dev/overview/license/).