lavagna

Crates.iolavagna
lib.rslavagna
version2.1.9
sourcesrc
created_at2022-06-23 09:54:59.859286
updated_at2023-12-28 16:56:52.582527
descriptionThe uncluttered blackboard
homepagehttps://github.com/alepez/lavagna
repositoryhttps://github.com/alepez/lavagna
max_upload_size
id611755
size366,314
Alessandro Pezzato (alepez)

documentation

README

lavagna

It's a blackboard, not a lasagna.

preview

Lavagna is a collaborative blackboard, perfect for creating simple sketches during online meetings. It has an (optional) minimal toolbar which can be hidden to avoid distractions from your drawings. You can control colors and line width using the keyboard or the toolbar.

It's just you, your peers, and your creativity.

Online demo

An online demo is available: demo

It supports passing options as url paramters:

Keyboard bindings

Button Action Note
C Color Change the chalk color
M Grow Grow chalk size 2x
N Shrink Shrink chalk size 2x
X Clear Clear the whole blackboard
U Toolbar Toggle toolbar visibility

Installation

Archives of precompiled binaries for lavagna are available for Windows, macOS and Linux.

Install from source

If you're a Rust programmer, lavagna can be installed with cargo.

  • Note that the minimum supported version of Rust for lavagna is 1.61.0, although lavagna may work with older versions.

To install from sources:

git clone https://github.com/alepez/lavagna.git
cd lavagna
cargo install --path lavagna --locked

Install from crates.io

To install from crates.io:

cargo install lavagna

Note that the version available in crates.io may be older than the one you find on latest release page.

Instant collaboration

lavagna uses WebRtc for instant collaboration. So you can use it for online meetings. You don't even need to install anything, because lavagna is available as a web-app too.

You need a signaling server like matchbox_server installed somewhere.

Don't worry, for quick testing you can borrow devand.dev signaling server:

lavagna --collab-url wss://lavagna-server.devand.dev/YOUR_ROOM

Change YOUR_ROOM to your preferred name or a unique id. If you do the same on different device, anything you draw will be visible on the other side (and vice versa).

Desktop app development

lavagna works on many operating systems:

  • Linux (x86)
  • Linux (ARM)
  • macOS (x86)
  • Windows

You just need to have a Rust toolchain installed. Run this from the project directory:

cargo run

To print help information, just use:

cargo run -- --help

Web app development

This script builds all the assets needed for a web application. You'll find them on www directory, so you can use any http server able to serve static files.

./tools/build-web
cd www
python -m http.server 8000

See also docker/lavagna-webapp/Dockerfile as an example of how to publish the web-app.

Commit count: 475

cargo fmt