f23cdc47ee
* docs: migrating existing docs to docosaraus :) * log broken links * lint :p * fix * divide the doc into diff categories * fix * order sidebars and more * fix lint * point to installation * making docs better :) * fix * renaming git * renaming git * fix links * fix * update readme * fix * resolve duplicate url and make /docs as base url * fix * move main docs as well * making docs better * support mdx * update og * fix title * upgrade docusarus to stable version * use draculla theme * fix * make entire sidebar collapsable * live editor for footer wohoo * render excalidraw only on client to fix the prod build * migrate MainMenu to live editor too :) * lint :p * cleanup integration and use live editor and tabs * fix * Add welcome screen doc * Live Collaboration comp docs * Add collaborator example * Add example * add more * remove isCollaborating * Rewrite ref and move to sidebar * change color of links inside pre * add initial data * fix lint * Add styling * fix lint * Add example for customizing styles * fix lint * fix * fix lint * Add link to livecollabtrigger * fix * rewrite UIOptions to sidebar * move initialdata to sidebar * move render props to sidebar and rewrite renderTopRightUI and renderCustomStats * rewrite renderSidebar * update og * update url for testing * fix url * update readme * fix style * tweaks * Add highlight comp to highlight text * Add bash syntax highlight * fix * tweaks * fix * rewrite export utilities * fix restore * rewrite utils * move constants to sidebar * update readme * add copyright * fix links style * Add linkedin * tweaks * rename package to @excalidraw/excalidraw * enable algolia with dummy creds * tweaks to integration doc * tweak WelcomeScreen docs to reflect upcoming API changes * tweak components intro * tweak nomenclature * fix admonition * rename `components` sidebar item and change order of components list * uncollapse package section in sidebar * show level 4 haeadings in TOC * remove algolia * remove unused assets * capitalize C * tweak * rename components to App * rename components -> children-components in the routes * move notable used tools to intro * update MainMenu docs with `onSelect` preventDefault behavior * change sidebar label for children components * use code * tweak README & docs intro * tweak package development doc * make scrollbar gutter stable * tweak api intro * add admonition for export utils * use next * wip * wip * make excalidraw examples use current color theme & prefer system * fix welcomescreen docs * use latest temp release * fix component order * revert wip changes * use next * tweak * increase height to fix welcome screen hint * tweak editor height * update excal version * wrap Excal with forwardRef to fix refs * migrate contributing.md * fix broken links --------- Co-authored-by: dwelle <luzar.david@gmail.com>
103 lines
2.0 KiB
Plaintext
103 lines
2.0 KiB
Plaintext
# Development
|
|
|
|
## Code Sandbox
|
|
|
|
- Go to https://codesandbox.io/p/github/excalidraw/excalidraw
|
|
- You may need to sign in with GitHub and reload the page
|
|
- You can start coding instantly, and even send PRs from there!
|
|
|
|
## Local Installation
|
|
|
|
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
|
|
|
|
### Requirements
|
|
|
|
- [Node.js](https://nodejs.org/en/)
|
|
- [Yarn](https://yarnpkg.com/getting-started/install) (v1 or v2.4.2+)
|
|
- [Git](https://git-scm.com/downloads)
|
|
|
|
### Clone the repo
|
|
|
|
```bash
|
|
git clone https://github.com/excalidraw/excalidraw.git
|
|
```
|
|
|
|
### Install the dependencies
|
|
|
|
```bash
|
|
yarn
|
|
```
|
|
|
|
### Start the server
|
|
|
|
```bash
|
|
yarn start
|
|
```
|
|
|
|
Now you can open [http://localhost:3000](http://localhost:3000) and start coding in your favorite code editor.
|
|
|
|
## Collaboration
|
|
|
|
For collaboration, you will need to set up [collab server](https://github.com/excalidraw/excalidraw-room) in local.
|
|
|
|
## Commands
|
|
|
|
### Install the dependencies
|
|
|
|
```bash
|
|
yarn
|
|
```
|
|
|
|
### Run the project
|
|
|
|
```bash
|
|
yarn start
|
|
```
|
|
|
|
### Reformat all files with Prettier
|
|
|
|
```bash
|
|
yarn fix
|
|
```
|
|
|
|
### Run tests
|
|
|
|
```bash
|
|
yarn test
|
|
```
|
|
|
|
### Update test snapshots
|
|
|
|
```bash
|
|
yarn test:update
|
|
```
|
|
|
|
### Test for formatting with Prettier
|
|
|
|
```bash
|
|
yarn test:code
|
|
```
|
|
|
|
### Docker Compose
|
|
|
|
You can use docker-compose to work on Excalidraw locally if you don't want to setup a Node.js env.
|
|
|
|
```bash
|
|
docker-compose up --build -d
|
|
```
|
|
|
|
## Self-hosting
|
|
|
|
We publish a Docker image with the Excalidraw client at [excalidraw/excalidraw](https://hub.docker.com/r/excalidraw/excalidraw). You can use it to self-host your own client under your own domain, on Kubernetes, AWS ECS, etc.
|
|
|
|
```bash
|
|
docker build -t excalidraw/excalidraw .
|
|
docker run --rm -dit --name excalidraw -p 5000:80 excalidraw/excalidraw:latest
|
|
```
|
|
|
|
The Docker image is free of analytics and other tracking libraries.
|
|
|
|
**At the moment, self-hosting your own instance doesn't support sharing or collaboration features.**
|
|
|
|
We are working towards providing a full-fledged solution for self-hosting your own Excalidraw.
|