What is it?
Mono Sketch is a client-side only web-based sketch tool for drawing ASCII diagrams. You can use the app at app.monosketch.io.
โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ
Edge Region 1 โ
โ
โญโโโโโโโโโโโโโโโฎ send msg to โญโโโโโโโโโโโโโโโฎ โ
/\_/\ โ โโญโโโโโโโโโโโโโโดโฎ websocket โโญโโโโโโโโโโโโโโดโฎ
( o.o ) โโโโโโโโโโโโฐโคโญโโโโโโโโโโโโโโดโฎโโโโโโโโโโโโโถโฐโคโญโโโโโโโโโโโโโโดโฎ โ
> ^ < โ โฐโค Envoy โ sub to this โฐโคGateway serverโ
โฐโโโโโโโฒโโโโโโโโฏ channel โฐโโโโโโโโฒโโโโโโโฏ โ
โ โ โ
โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โผ โ โ โ โ โ
/\_/\ โ โ
( o.o ) โโโโโโโโโโโโโโโโโโโโโ โ send msg to all GS subs
> ^ < โโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โผ โ โ โ
โ โMain region โ
โ โ โ
โ โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโดโโโ
โ โโโโโโโโโโโโโโโโดโ send โโโโโโโโโโโโโโโโดโ โโโโโโโโโโโโโโโโดโ โ
โโโโโโโผโโโถโโคโโโโโโโโโโโโโโโดโ channel msg โโคโโโโโโโโโโโโโโโดโ โโคโโโโโโโโโโโโโโโดโ
โโค Webapp โโโโโโโโโโโโโโโโดโถ Admin Server โโโโโโโโโโโโโดโถChannel Serverโโ
โ โโโโโโโโโฌโโโโโโโ โโโโโโโโโโโโโโโโ route to โโโโโโโโโโโโโโโโ
โ store channel โ
โ โผ message server
โโโโโโโโ โ
โ โVitessโ
โโโโโโโโ โ
โ
โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ
Features
Supporting features
Draw tools:
- Rectangle
- Text
- Line
Shape formats:
- Fill
- Border
- Line start/end heads
- Rounded corner
Editing:
- Infinity scroll, no limitation for 4 directions
- Auto save
- Multiple projects
- Copy / Cut / Paste / Duplicate
- Move and change shapes' order
- Dark mode
- Line snapping: connect a line to a shape
Exporting:
- Export selected shapes
- Copy as text (
cmd + shift + C
orctrl + shift + C
)
Future features
Grouping
Group is added as a kind of shape but until now, there are no features that are applying Group except for rendering. Besides, the shape tool does not work with groups or multiple selected shapes. This project aims to make the tool able to work with Group and also add a Shape tree on the left of the tool.
Paint tool
Currently, Mono Sketch provides only three tools: Rectangle, Text, and Line. One tool which is also used frequently when drawing with ASCII is paint - draw with a specific character. This project also aims for providing richer options of Fill, Border, Line Start/End head
Sharing
Allow opening files from a url, share to gist, etc.
Contributing
This project is fully written with KotlinJS and SASS for CSS. There is no environment setup required except for Java.
To run debug:
./gradlew browserDevelopmentRun --continuous -Dorg.gradle.parallel=false
Or with production configuration
./gradlew browserProductionRun --continuous -Dorg.gradle.parallel=false
-Dorg.gradle.parallel=false
is a workaround for a bug on KotlinJS build with--continuous
.
Run with Python
This is an alternative to browserDevelopmentRun
for running the app for development (sometimes,
the gradle does not reload when the code is updated).
Requirements: Pipenv.
pipenv install
pipenv run dev