https://github.com/tuanchauict/MonoSketch
An ASCII graph drawing app
https://github.com/tuanchauict/MonoSketch
ascii ascii-art ascii-editor ascii-graphics diagram-editor kotlin kotlin-js webapp
Last synced: 5 months ago
JSON representation
An ASCII graph drawing app
- Host: GitHub
- URL: https://github.com/tuanchauict/MonoSketch
- Owner: tuanchauict
- License: apache-2.0
- Created: 2020-12-31T01:38:18.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-09-10T01:30:30.000Z (8 months ago)
- Last Synced: 2024-09-10T04:49:50.513Z (8 months ago)
- Topics: ascii, ascii-art, ascii-editor, ascii-graphics, diagram-editor, kotlin, kotlin-js, webapp
- Language: Kotlin
- Homepage: https://monosketch.io
- Size: 5.21 MB
- Stars: 372
- Watchers: 4
- Forks: 9
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
[][apache2.0]
[][KotlinJS]
[][sass]
[](https://github.com/tuanchauict/MonoSketch/releases)
[](https://twitter.com/MonoSketchApp)# 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][app].```
+10-15V 0,047R
●─────────○───────○─░░░░░─○─○─────────○────○─────╮
+ │ │ │ │ │ │ │ │
─═════─ │ │ │ │ │ │ │
─═════─ ──┼── │ │╭┴╮ │ │ │
─═════─ ─┼─ │ ││ │ 2k2 │ │ │
- │ 470│ + │ ││ │ │ │ │
│ uF│ ╰──╮ │╰┬╯ ╭┴╮ │ │
└─────────│ │ │ │ 1k │ │ │ ▽ LED
│ 6│ 7│ │8 │ │ │ ┬
───┴─── ╭──┴────┴─┴─╮ ╰┬╯ │ │
─═══─ │ │1 │ │ / BC │
─ │ ├───────○──┤/ 547 │
GND │ │ │ │ ▶ │
│ │ ╭┴╮ │ │
╭─────────┤ │ 220R│ │ ○───┤├┘ IRF9Z34
│ │ │ │ │ │ │├─▶
│ │ MC34063 │ ╰┬╯ │ │├─┐ BYV29 -12V6
│ │ │ │ │ ○──┤◀─○────○───X OUT
- │ + │ │2 ╰────╯ │ │ │
6000 micro ────┴──── │ ├──○ C│ │ ─── 470
Farad, 40V ─ ─ ┬ ─ ─ │ │ GND C│ │ ███ uF
Capacitor │ │ │3 C│ │ │\
│ │ ├────────┤├╮ │ │ GND
│ ╰─────┬───┬─╯ │ GND │
│ 5│ 4│ │ │
│ │ ╰────────────○──────────────│
│ │ │
╰───────────────●─────/\/\/─────────○────░░░░░──╯
2k │ 1k0
╭┴╮
│ │5k6 3k3
│ │in Serie
╰┬╯
│
GND
```# Features
## Supporting features
Draw tools:
- Rectangle
- Text
- LineShape formats:
- Fill
- Border
- Line start/end heads
- Rounded cornerEditing:
- Infinity scroll, no limitation for 4 directions
- Autosave
- Multiple projects
- Copy / Cut / Paste / Duplicate
- Move and change shapes' order
- Dark mode
- Line snapping: connect a line to a shapeExporting:
- Export selected shapes
- Copy as text (`cmd + shift + C` or `ctrl + 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 that is also
> used frequently when drawing with ASCII is paint - draw with a specific character. This project
> also aims to provide 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:
```bash
./gradlew browserDevelopmentRun --continuous -Dorg.gradle.parallel=false
```Or with production configuration
```bash
./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].
```bash
pipenv install
pipenv run dev
```[apache2.0]: https://opensource.org/licenses/Apache-2.0
[app]: https://app.monosketch.io/
[KotlinJS]: https://kotlinlang.org/docs/js-overview.html
[Pipenv]: https://pipenv.pypa.io/en/latest/
[sass]: https://sass-lang.com/