Spaces:
Sleeping
Sleeping
| title: Morphus | |
| sdk: docker | |
| app_port: 7860 | |
| pinned: false | |
| # Morphus | |
| Morphus converts HTML into editable Figma designs with a local HTML-first flow. | |
| ## Flow | |
| 1. Playwright renders the HTML and captures computed styles. | |
| 2. The local pipeline resolves fonts, ordering, and Figma-ready layout data. | |
| 3. A local server returns Figma-ready JSON. | |
| 4. The Figma plugin builds the design from that JSON automatically. | |
| ## Quickstart | |
| ```bash | |
| npm install | |
| npx playwright install chromium | |
| npm run server | |
| ``` | |
| Then in Figma: open the Morphus plugin, paste or upload HTML, and click `Convert & Build`. | |
| ## Commands | |
| ```bash | |
| npm run convert -- --input ./tests/landing-page/input.html --output ./out/landing-page.json | |
| npm run server | |
| npm test | |
| npm run snapshot:update | |
| ``` | |
| ## Project Checklist | |
| See [CHECKLIST.md](CHECKLIST.md) for the list of completed project items. | |
| ## Public Use | |
| To let other people use the plugin without running the local server, deploy the converter as a public HTTPS Node/Playwright service and update the plugin's converter URL. See [docs/deployment.md](docs/deployment.md). | |
| ## Snapshot Test | |
| `tests/landing-page/expected-snapshot.json` is the deterministic baseline for `tests/landing-page/input.html`. | |
| ## Project Layout | |
| - `scripts/convert.js` CLI conversion | |
| - `scripts/server.js` local bridge for the plugin | |
| - `figma-plugin/` Figma UI and builder | |
| - `src/` Playwright extraction and Figma mapping code | |
| - `tests/landing-page/` fixture and snapshot | |