RustPad 0.0.1
Collaborative Markdown editor with standalone notes and workspaces.
Development setup
./dev.sh
The script creates data/db and data/files, builds the project, and runs it with Cargo. When Cargo is unavailable, it uses docker compose up --build.
Functions (Workspaces)
- real-time collaborative editing over WebSocket,
- nickname remembered in
localStorage, - change authors in history,
- line numbering enabled by default with a persistent toggle,
- owner color next to each line,
- upload images and files to
data/files/pads/<id>_<token>/lubdata/files/notes/<id>_<token>/, - automatic Markdown link insertion after upload,
- Markdown i diagramy Mermaid,
- history with snippets, previews, and version restore.
Data
- SQLite:
data/db/rustpad.db, - files:
data/files/pads/<id>_<token>/idata/files/notes/<id>_<token>/; the public URL has the form/f/<token>/<nazwa>.
In Docker, both directories are located under /data.
Publishing a note as a page
Use the Page button in the editor. RustPad creates a permanent public /s/<token> address, copies it to the clipboard, and opens it in a new tab. The page displays the current note content and renders Markdown, images, links, and Mermaid. Publishing a protected note requires the password, but the published link itself is public.
Limit uploadu
The maximum size of a single file is configured with UPLOAD_MAX_SIZE_MB w .env, np. UPLOAD_MAX_SIZE_MB=50. The default is 20 MB. After changing it, restart the project with ./dev.sh.